大数据全系列 教程
1869个小节阅读:465.1k
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
###1.4 集群启动与测试
1、修改node1上hbase-2.0.5文件夹以及子内容的所有者和所属用户组
xxxxxxxxxx
[root@node1 opt]# chown -R root:root /opt/hbase-2.0.5/
2、 启动hbase集群
在node1上执行start-hbase.sh
xxxxxxxxxx
[root@node1 opt]# start-hbase.sh
如果某角色进程没有启动,则在对应的节点上执行:
xxxxxxxxxx
[root@nodeX ~]# hbase-daemon.sh start master/regionserver
启动后发现node1的master没有启动起来,查看日志:
/opt/hbase-2.0.5/logs/hbase-root-master-node1.log
xxxxxxxxxx
ERROR [Thread-14] master.HMaster: Failed to become active master
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it
3、bug解决:
解决方案,修改四个节点的hbase-site.xml文件添加如下配置:
xxxxxxxxxx
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
4、关闭相关节点后再次启动hbase集群即可
关闭命令:
xxxxxxxxxx
hbase-daemon.sh stop master/regionserver
再次在node1上调用start-hbase.sh
5、 查看各个节点运行的进程
xxxxxxxxxx
[root@node1 opt]# allJps.sh
-----------node1 jps--------------
3362 JournalNode
4774 Jps
3000 NameNode
3608 DFSZKFailoverController
4268 HMaster
-----------node2 jps--------------
2688 QuorumPeerMain
3281 NodeManager
4289 HMaster
4657 Jps
3139 DFSZKFailoverController
4019 HRegionServer
2822 NameNode
2894 DataNode
3023 JournalNode
-----------node3 jps--------------
2704 QuorumPeerMain
4371 HRegionServer
4759 Jps
2840 DataNode
3416 ResourceManager
3004 JournalNode
3549 NodeManager
-----------node4 jps--------------
2704 QuorumPeerMain
3153 NodeManager
3077 ResourceManager
4124 Jps
2845 DataNode
3743 HRegionServer
6、Zookeeper客户端上查看添加的节点:
xxxxxxxxxx
#node2-node4都可以:
[root@node4 ~]# zkCli.sh
[zk: localhost:2181(CONNECTED) 6] ls -R /hbase
/hbase
/hbase/backup-masters
/hbase/draining
/hbase/flush-table-proc
/hbase/hbaseid
/hbase/master
/hbase/master-maintenance
/hbase/meta-region-server
/hbase/namespace
/hbase/online-snapshot
/hbase/replication
/hbase/rs
/hbase/running
/hbase/splitWAL
/hbase/switch
/hbase/table
/hbase/table-lock
/hbase/backup-masters/node1,16000,1638260966494
/hbase/flush-table-proc/abort
/hbase/flush-table-proc/acquired
/hbase/flush-table-proc/reached
/hbase/namespace/default
/hbase/namespace/hbase
/hbase/online-snapshot/abort
/hbase/online-snapshot/acquired
/hbase/online-snapshot/reached
/hbase/replication/peers
/hbase/replication/rs
/hbase/replication/rs/node2,16020,1638260712590
/hbase/replication/rs/node3,16020,1638260712527
/hbase/replication/rs/node4,16020,1638260712835
/hbase/rs/node2,16020,1638260712590
/hbase/rs/node3,16020,1638260712527
/hbase/rs/node4,16020,1638260712835
/hbase/table/hbase:meta
/hbase/table/hbase:namespace
7、 浏览HBase的Web UI:
8、 测试一下如果节点或服务消失会发生什么。
如果只配置了四个节点,HBase还不是太有弹性。不过依然可以测试如果主HMaster或者HRegionServer消失会发生什么。比如可以kill掉进程,查看log日志等。
a) 杀死node1上的HMaster观察web ui
xxxxxxxxxx
[root@node1 opt]# hbase-daemon.sh stop master
running master, logging to /opt/hbase-2.0.5/logs/hbase-root-master-node1.out
stopping master.
http://node1:16010/ 提示无法访问。
http://node2:16010/ 显示为Active Master,Backup Master没有了
b) 在node1启动HMaster:hbase-daemon.sh start master
访问node1的web ui界面:
xxxxxxxxxx
[root@node1 opt]# hbase-daemon.sh start master
running master, logging to /opt/hbase-2.0.5/logs/hbase-root-master-node1.out
http://node1:16010/ 变为的Backup Master。
http://node2:16010/ 显示为Active Master,Backup Master显示为node1.
c) 在node2上kill掉HRegionServer,查看web ui:
xxxxxxxxxx
[root@node2 ~]# hbase-daemon.sh stop regionserver
running regionserver, logging to /opt/hbase-2.0.5/logs/hbase-root-regionserver-node2.out
stopping regionserver.
regionserver列表中减少了一个node2的regionserver
d) 在node2上启动HRegionServer:hbase-daemon.sh start regionserver,查看web ui:
xxxxxxxxxx
[root@node2 ~]# hbase-daemon.sh start regionserver
running regionserver, logging to /opt/hbase-2.0.5/logs/hbase-root-regionserver-node2.out
regionserver列表中增加了一个node2的regionserver