第1章 HBase快速入门
1.1 HBase安装部署
1.1.1 Zookeeper正常部署
首先保证Zookeeper集群的正常部署,并启动之:
[yobhel@hadoop101 zookeeper-3.5.7]$ bin/zkServer.sh start
[yobhel@hadoop102 zookeeper-3.5.7]$ bin/zkServer.sh start
[yobhel@hadoop103 zookeeper-3.5.7]$ bin/zkServer.sh start
1.1.2 Hadoop正常部署
Hadoop集群的正常部署并启动:
[yobhel@hadoop101 hadoop-3.1.3]$ sbin/start-dfs.sh
[yobhel@hadoop102 hadoop-3.1.3]$ sbin/start-yarn.sh
1.1.3 HBase的解压
解压Hbase到指定目录:
[yobhel@hadoop101 software]$tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module
[yobhel@hadoop101 software]$ mv /opt/module/hbase-2.0.5 /opt/module/hbase
配置环境变量
[yobhel@hadoop101 ~]$ sudo vim /etc/profile.d/my_env.sh
添加
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin
1.1.4 HBase的配置文件
修改HBase对应的配置文件。
1.hbase-env.sh修改内容:
export HBASE_MANAGES_ZK=false
2.hbase-site.xml修改内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop101:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop101,hadoop102,hadoop103</value>
</property>
</configuration>
3.regionservers:
hadoop101
hadoop102
hadoop103
1.1.5 HBase远程发送到其他集群
[yobhel@hadoop101 module]$ xsync hbase/
2.1.6 HBase服务的启动
1.单点启动
[yobhel@hadoop101 hbase]$ bin/hbase-daemon.sh start master
[yobhel@hadoop101 hbase]$ bin/hbase-daemon.sh start regionserver
提示:如果集群之间的节点时间不同步,会导致regionserver无法启动,抛出ClockOutOfSyncException异常。
修复提示:
a、同步时间服务
请参看帮助文档:《尚硅谷大数据技术之Hadoop入门》
b、属性:hbase.master.maxclockskew设置更大的值
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
<description>Time difference of regionserver from master</description>
</property>
2.群启
[yobhel@hadoop101 hbase]$ bin/start-hbase.sh
对应的停止服务:
[yobhel@hadoop101 hbase]$ bin/stop-hbase.sh
1.1.7 查看HBase页面
启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如:
1.1.8 高可用(可选)
在HBase中HMaster负责监控HRegionServer的生命周期,均衡RegionServer的负载,如果HMaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对HMaster的高可用配置。
1.关闭HBase集群(如果没有开启则跳过此步)
[yobhel@hadoop101 hbase]$ bin/stop-hbase.sh
2.在conf目录下创建backup-masters文件
[yobhel@hadoop101 hbase]$ touch conf/backup-masters
3.在backup-masters文件中配置高可用HMaster节点
[yobhel@hadoop101 hbase]$ echo hadoop102 > conf/backup-masters
4.将整个conf目录scp到其他节点
[yobhel@hadoop101 hbase]$ scp -r conf/ hadoop102:/opt/module/hbase/
[yobhel@hadoop101 hbase]$ scp -r conf/ hadoop103:/opt/module/hbase/
5.打开页面测试查看
第2章 整合Phoenix
2.2 Phoenix快速入门
2.2.1安装
1.官网地址
2.Phoenix部署
1)上传并解压tar包
[yobhel@hadoop101 software]$ tar -zxvf apache-phoenix-5.0.0-HBase-2.0-bin.tar.gz -C /opt/module/
[yobhel@hadoop101 software]$ cd /opt/module/
[yobhel@hadoop101 module]$ mv apache-phoenix-5.0.0-HBase-2.0-bin phoenix
2)复制server包并拷贝到各个节点的hbase/lib
[yobhel@hadoop101 module]$ cd /opt/module/phoenix/
[yobhel@hadoop101 phoenix]$ cp /opt/module/phoenix/phoenix-5.0.0-HBase-2.0-server.jar /opt/module/hbase/lib/
[yobhel@hadoop101 phoenix]$ xsync /opt/module/hbase/lib/phoenix-5.0.0-HBase-2.0-server.jar
3)配置环境变量
# PHOENIX_HOME
export PHOENIX_HOME=/opt/module/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin
4)在 Hbase 家目录下的 conf/hbase-site.xml 文件中添加配置,分发配置文件
[yobhel@hadoop101 phoenix]$ vim /opt/module/hbase/conf/hbase-site.xml
[yobhel@hadoop101 phoenix]$ xsync /opt/module/hbase/conf/hbase-site.xml
配置如下
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
5)在 Phoenix 家目录下的 bin/hbase-site.xml 文件中添加配置
[yobhel@hadoop101 phoenix]$ vim bin/hbase-site.xml
配置如下
<property>
<name>phoenix.schema.isNamespaceMappingEnabled</name>
<value>true</value>
</property>
<property>
<name>phoenix.schema.mapSystemTablesToNamespace</name>
<value>true</value>
</property>
6)重启HBase
[yobhel@hadoop101 ~]$ stop-hbase.sh
[yobhel@hadoop101 ~]$ start-hbase.sh
7)连接Phoenix
[yobhel@hadoop101 phoenix]$ /opt/module/phoenix/bin/sqlline.py hadoop101,hadoop102,hadoop103:2181