Zookeeper正常部署首先保证Zookeeper集群的正常部署,并启动:
注意,三台都要启动,因为是集群。
Hadoop集群的正常部署并启动
HBase的解压
上传到/opt/software目录下
[fxy@hadoop101 software]$ tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module
[fxy@hadoop101 module]$ mv /opt/module/hbase-2.0.5 /opt/module/hbase
配置环境变量
配置完之后,刷新文件,并准备分发配置文件。让三台节点服务器都更新环境变量文件
分发脚本教学
[fxy@hadoop101 module]$ source /etc/profile.d/my_env.sh
[fxy@hadoop101 module]$ sudo xsync /etc/profile.d/my_env.sh
检查一下其他节点的配置信息,看看是否分发成功。
HBase的配置文件
进入到conf下
[fxy@hadoop101 hbase]$ cd conf/
hbase-env.sh修改内容:
原因:HBase中内置了zk,我们既然是集群就要用同一个zk,将自己的zk禁用掉。
[fxy@hadoop101 conf]$ vim hbase-env.sh
进入编辑器,输入set nu显示行数
export HBASE_MANAGES_ZK=false
[fxy@hadoop101 conf]$ vim hbase-site.xml <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://hadoop101:9820/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> <!--下面这两个基本不用配置,因为是专门处理不兼容问题,我们这个版本兼容--> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property> <property> <name>hbase.wal.provider</name> <value>filesystem</value> </property> </configuration>
[fxy@hadoop101 conf]$ vim regionservers
hadoop101
hadoop102
hadoop103
[fxy@hadoop101 module]$ xsync hbase/
[fxy@hadoop101 hbase]$ bin/hbase-daemon.sh start master
[fxy@hadoop101 hbase]$ bin/hbase-daemon.sh start regionserver
提示:如果集群之间的节点时间不同步,会导致regionserver无法启动,抛出ClockOutOfSyncException异常
属性:hbase.master.maxclockskew设置更大的值
<property> <name>hbase.master.maxclockskew</name> <value>180000</value> <description>Time difference of regionserver from master</description> </property>
群启
[fxy@hadoop101 hbase]$ bin/start-hbase.sh
[fxy@hadoop101 hbase]$ bin/stop-hbase.sh
查看HBase页面启动成功后,可以通过“host:port”的方式来访问HBase管理页面,例如
http://hadoop101:16010
在HBase中HMaster负责监控HRegionServer的生命周期,均衡RegionServer的负载,如果HMaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对HMaster的高可用配置
关闭HBase集群(如果没有开启则跳过此步)
[fxy@hadoop101 hbase]$ bin/stop-hbase.sh
[fxy@hadoop101 hbase]$ touch conf/backup-masters
在backup-masters文件中配置高可用HMaster节点
[fxy@hadoop101 hbase]$ echo hadoop103 > conf/backup-masters
将整个conf目录scp到其他节点
[fxy@hadoop101 hbase]$ scp -r conf/ hadoop102:/opt/module/hbase/
[fxy@hadoop101 hbase]$ scp -r conf/ hadoop103:/opt/module/hbase/
[fxy@hadoop101 hbase]$ bin/start-hbase.sh
http://hadoop101:16010
检测HA是否可用,kill掉101节点的master,看看103是否能够变成master。
[fxy@hadoop101 hbase]$ kill -9 6591