HBase Master的高可用实战案例

             HBase Master的高可用实战案例

                                 作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.HBase集群停止Hmaster观察集群是否可用

1>.停止HMaster服务

[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
6352 HMaster
5841 DataNode
5731 NameNode
15687 Jps
6168 DFSZKFailoverController
8170 NodeManager
6492 HRegionServer
8060 ResourceManager
5519 QuorumPeerMain

hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5474 DataNode
6151 NodeManager
5545 JournalNode
5690 HRegionServer
8140 Jps

hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5495 DataNode
5628 HRegionServer
6095 NodeManager
8175 Jps

hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
8259 Jps
5700 JournalNode
5624 DataNode
5848 HRegionServer
5501 QuorumPeerMain
6318 NodeManager

hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5329 QuorumPeerMain
5651 HRegionServer
8807 Jps
5416 DataNode
5530 JournalNode
6173 NodeManager

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5488 NameNode
5826 HRegionServer
10133 Jps
5708 DFSZKFailoverController
5549 DataNode
6525 NodeManager

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'        #HBase集群启动正常
[root@hadoop101.yinzhengjie.org.cn ~]# jps
6352 HMaster
5841 DataNode
5731 NameNode
6168 DFSZKFailoverController
15737 Jps
8170 NodeManager
6492 HRegionServer
8060 ResourceManager
5519 QuorumPeerMain
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# hbase-daemon.sh stop master
running master, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-master-hadoop101.yinzhengjie.org.cn.out
stopping master.
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# jps
5841 DataNode
15858 Jps
5731 NameNode
6168 DFSZKFailoverController
8170 NodeManager
6492 HRegionServer
8060 ResourceManager
5519 QuorumPeerMain
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# hbase-daemon.sh stop master         #单独停掉Hmaster服务

2>.测试HBase集群是否可用

[root@hadoop101.yinzhengjie.org.cn ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/ha/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/hbase-2.2.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.4, r67779d1a325a4f78a468af3339e73bf075888bac, 2020年 03月 11日 星期三 12:57:39 CST
Took 0.0022 seconds                                                                                                                                                                                                                                                           
hbase(main):001:0> list
TABLE                                                                                                                                                                                                                                                                         

ERROR: KeeperErrorCode = NoNode for /hbase/master            #我们在使用HBase 2.2.4版本时,当停止掉HMaster角色后,发现交互式命令行将无法使用......

For usage try 'help "list"'

Took 0.0838 seconds                                                                                                                                                                                                                                                           
hbase(main):002:0> 

3>.HMaster高可用的必要性

  在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。

  经过上述测试,HBase 2.2.4版本中当HMaster角色挂掉后,集群将进入不可用状态,因此在生产环境中我们需要对HBase的Hmaster角色做高可用配置。

 

二.配置HMaster实战案例

1>.先搭建HBase完全分布式集群

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie2020/p/12239031.html

2>.停止HBase集群

[root@hadoop101.yinzhengjie.org.cn ~]# stop-hbase.sh 
stopping hbase..........
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/ha/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/hbase-2.2.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# stop-hbase.sh
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
8480 Jps
5495 DataNode
6095 NodeManager

hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5700 JournalNode
5624 DataNode
8572 Jps
5501 QuorumPeerMain
6318 NodeManager

hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5329 QuorumPeerMain
9121 Jps
5416 DataNode
5530 JournalNode
6173 NodeManager

hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5474 DataNode
6151 NodeManager
5545 JournalNode
8457 Jps

hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5841 DataNode
5731 NameNode
16308 Main
6168 DFSZKFailoverController
8170 NodeManager
17994 Jps
8060 ResourceManager
5519 QuorumPeerMain

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5488 NameNode
10449 Jps
5708 DFSZKFailoverController
5549 DataNode
6525 NodeManager

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'

3>.创建backup-masters文件并分发至集群各个节点

[root@hadoop101.yinzhengjie.org.cn ~]# echo hadoop105.yinzhengjie.org.cn > /yinzhengjie/softwares/hbase/conf/backup-masters
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/hbase/conf/backup-masters
hadoop105.yinzhengjie.org.cn
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# echo hadoop105.yinzhengjie.org.cn > /yinzhengjie/softwares/hbase/conf/backup-masters
[root@hadoop101.yinzhengjie.org.cn ~]# rsync-hadoop.sh /yinzhengjie/softwares/hbase/conf/backup-masters
******* [hadoop102.yinzhengjie.org.cn] node starts synchronizing [/yinzhengjie/softwares/hbase/conf/backup-masters] *******
命令执行成功
******* [hadoop103.yinzhengjie.org.cn] node starts synchronizing [/yinzhengjie/softwares/hbase/conf/backup-masters] *******
命令执行成功
******* [hadoop104.yinzhengjie.org.cn] node starts synchronizing [/yinzhengjie/softwares/hbase/conf/backup-masters] *******
命令执行成功
******* [hadoop105.yinzhengjie.org.cn] node starts synchronizing [/yinzhengjie/softwares/hbase/conf/backup-masters] *******
命令执行成功
******* [hadoop106.yinzhengjie.org.cn] node starts synchronizing [/yinzhengjie/softwares/hbase/conf/backup-masters] *******
命令执行成功
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# rsync-hadoop.sh /yinzhengjie/softwares/hbase/conf/backup-masters
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'cat /yinzhengjie/softwares/hbase/conf/backup-masters'
hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
hadoop105.yinzhengjie.org.cn

hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
hadoop105.yinzhengjie.org.cn

hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
hadoop105.yinzhengjie.org.cn

hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
hadoop105.yinzhengjie.org.cn

hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
hadoop105.yinzhengjie.org.cn

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
hadoop105.yinzhengjie.org.cn

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'cat /yinzhengjie/softwares/hbase/conf/backup-masters'          #验证是否分发完成

4>.单独修改hadoop105.yinzhengjie.org.cn节点的配置文件

[root@hadoop105.yinzhengjie.org.cn ~]# vim /yinzhengjie/softwares/hbase/conf/hbase-site.xml 
[root@hadoop105.yinzhengjie.org.cn ~]# 
[root@hadoop105.yinzhengjie.org.cn ~]# cat /yinzhengjie/softwares/hbase/conf/hbase-site.xml 
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
/**
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<configuration>

       <!-- ********** HBase核心配置(必须配置部分) ********** -->
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://yinzhengjie-hdfs-ha/hbase</value>
        <description>指定Region服务器共享的目录,用来持久存储HBase的数据,URL必须完全正确,其中包含了文件系统的schema。默认值"${hbase.tmp.dir}/hbase"</description>
    </property>

    <property>
        <name>hbase.tmp.dir</name>
        <value>/yinzhengjie/data/hbase</value>
        <description>指定Hbase本地文件系统的临时文件存放路径,默认值为"${java.io.tmpdir}/hbase-${user.name}".</description>
    </property>

    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
                <description>指定HBase集群的运行模式,该值为false时,集群为单机模式;该值为true时,集群是分布式模式。如果将该值设置为false,则HBase与Zookeeper的守护进程将运行在一个JVM中。默认值为false</description>
    </property>

    <property>   
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop101.yinzhengjie.org.cn:2181,hadoop102.yinzhengjie.org.cn:2181,hadoop103.yinzhengjie.org.cn:2181</value>
                <description>配置zookeeper集群地址,不要指定znode路径,HBase会默认将元数据放在根znode</description>
    </property>

    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
                <description>程序WAL依赖于在组件故障期间hsync进行正确操作的能力,但底层文件系统不支持这样做时需要禁用hsync,默认值为"false"</description>
    </property>


       <!-- ********** HMaster相关配置 ********** -->
    <property>   
        <name>hbase.master.info.bindAddress</name>
        <value>hadoop105.yinzhengjie.org.cn</value>
                <description>HBase Master 的 Web UI绑定的地址,默认值为"0.0.0.0"</description>
    </property>

    <property>
        <name>hbase.master.port</name>
        <value>16000</value>
                <description>HBase Master绑定端口</description>
    </property>

        <property>
                <name>hbase.master.info.port</name>
                <value>16010</value>
                <description>HBase Master的Web UI端口,默认值为:"16010",如果不想启动UI实例,则可以将当前参数设置为-1</description>
        </property>


       <!-- ********** HRegionServer相关配置 ********** -->
        <property>
                <name>hbase.regionserver.port</name>
                <value>16020</value>
                <description>HBase RegionServer绑定的端口,默认值为:"16020".</description>
        </property>


        <property>
                <name>hbase.regionserver.info.port</name>
                <value>16030</value>
                <description>HBase RegionServer的Web UI端口,默认值为:"16030"设置为-1可以禁用HBase RegionServer的Web UI。</description>
        </property>

        <property>
                <name>hbase.regionserver.info.bindAddress</name>
                <value>0.0.0.0</value>
                <description>HBase RegionServer的Web UI地址,默认值为"0.0.0.0"</description>
        </property>

</configuration>
[root@hadoop105.yinzhengjie.org.cn ~]# 
[root@hadoop105.yinzhengjie.org.cn ~]# vim /yinzhengjie/softwares/hbase/conf/hbase-site.xml             #注意修改HMaster配置的"hbase.master.info.bindAddress"属性

5>.再次启动HBase集群

[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5329 QuorumPeerMain
10289 Jps
9762 JournalNode
9660 DataNode
6173 NodeManager

hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
10695 Jps
9166 DataNode
6095 NodeManager

hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
6151 NodeManager
8985 DataNode
9579 Jps
9086 JournalNode

hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
9111 DataNode
9212 JournalNode
5501 QuorumPeerMain
6318 NodeManager
9694 Jps

hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
21792 Jps
19959 DataNode
8170 NodeManager
19834 NameNode
8060 ResourceManager
5519 QuorumPeerMain
20303 DFSZKFailoverController

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
11108 DataNode
11033 NameNode
11258 DFSZKFailoverController
6525 NodeManager
11789 Jps

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
[root@hadoop101.yinzhengjie.org.cn ~]# start-hbase.sh 
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/ha/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/hbase-2.2.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
running master, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-master-hadoop101.yinzhengjie.org.cn.out
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/ha/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/hbase-2.2.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
hadoop102.yinzhengjie.org.cn: running regionserver, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-regionserver-hadoop102.yinzhengjie.org.cn.out
hadoop104.yinzhengjie.org.cn: running regionserver, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-regionserver-hadoop104.yinzhengjie.org.cn.out
hadoop106.yinzhengjie.org.cn: running regionserver, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-regionserver-hadoop106.yinzhengjie.org.cn.out
hadoop105.yinzhengjie.org.cn: running regionserver, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-regionserver-hadoop105.yinzhengjie.org.cn.out
hadoop101.yinzhengjie.org.cn: running regionserver, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-regionserver-hadoop101.yinzhengjie.org.cn.out
hadoop103.yinzhengjie.org.cn: running regionserver, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-regionserver-hadoop103.yinzhengjie.org.cn.out
hadoop105.yinzhengjie.org.cn: SLF4J: Class path contains multiple SLF4J bindings.
hadoop105.yinzhengjie.org.cn: SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/ha/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
hadoop105.yinzhengjie.org.cn: SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/hbase-2.2.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
hadoop105.yinzhengjie.org.cn: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
hadoop105.yinzhengjie.org.cn: running master, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-master-hadoop105.yinzhengjie.org.cn.out
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# start-hbase.sh
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5329 QuorumPeerMain
9762 JournalNode
10345 HRegionServer
9660 DataNode
6173 NodeManager
10557 Jps

hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
9635 HRegionServer
6151 NodeManager
9847 Jps
8985 DataNode
9086 JournalNode

hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
11146 Jps
10860 HMaster
9166 DataNode
6095 NodeManager
10751 HRegionServer

hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
9111 DataNode
9751 HRegionServer
9212 JournalNode
9964 Jps
5501 QuorumPeerMain
6318 NodeManager

hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
21952 HMaster
22518 Jps
19959 DataNode
8170 NodeManager
19834 NameNode
8060 ResourceManager
5519 QuorumPeerMain
20303 DFSZKFailoverController
22095 HRegionServer

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
12066 Jps
11108 DataNode
11846 HRegionServer
11033 NameNode
11258 DFSZKFailoverController
6525 NodeManager

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'

6>.访问hadoop101.yinzhengjie.org.cn节点的Hmaster对应的WebUI地址

  浏览器访问:
    http://hadoop101.yinzhengjie.org.cn:16010/master-status

7>.访问hadoop105.yinzhengjie.org.cn节点的Hmaster对应的WebUI地址

 

三.验证HBase Master的高可用

1>.停止Active HBase Master角色

[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
9635 HRegionServer
9987 Jps
6151 NodeManager
8985 DataNode
9086 JournalNode

hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
21952 HMaster
22868 ZooKeeperMain
19959 DataNode
23033 Jps
8170 NodeManager
19834 NameNode
8060 ResourceManager
5519 QuorumPeerMain
20303 DFSZKFailoverController
22095 HRegionServer

hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
10100 Jps
9111 DataNode
9751 HRegionServer
9212 JournalNode
5501 QuorumPeerMain
6318 NodeManager

hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5329 QuorumPeerMain
9762 JournalNode
10345 HRegionServer
9660 DataNode
10700 Jps
6173 NodeManager

hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
11290 Jps
10860 HMaster
9166 DataNode
6095 NodeManager
10751 HRegionServer

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
11108 DataNode
11846 HRegionServer
11033 NameNode
11258 DFSZKFailoverController
12298 Jps
6525 NodeManager

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
[root@hadoop101.yinzhengjie.org.cn ~]# hbase-daemon.sh stop master
running master, logging to /yinzhengjie/softwares/hbase/bin/../logs/hbase-root-master-hadoop101.yinzhengjie.org.cn.out
stopping master.
[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# hbase-daemon.sh stop master
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'
hadoop101.yinzhengjie.org.cn | SUCCESS | rc=0 >>
22868 ZooKeeperMain
19959 DataNode
23271 Jps
8170 NodeManager
19834 NameNode
8060 ResourceManager
5519 QuorumPeerMain
20303 DFSZKFailoverController
22095 HRegionServer

hadoop104.yinzhengjie.org.cn | SUCCESS | rc=0 >>
10048 Jps
9635 HRegionServer
6151 NodeManager
8985 DataNode
9086 JournalNode

hadoop102.yinzhengjie.org.cn | SUCCESS | rc=0 >>
5329 QuorumPeerMain
9762 JournalNode
10345 HRegionServer
10761 Jps
9660 DataNode
6173 NodeManager

hadoop103.yinzhengjie.org.cn | SUCCESS | rc=0 >>
10163 Jps
9111 DataNode
9751 HRegionServer
9212 JournalNode
5501 QuorumPeerMain
6318 NodeManager

hadoop105.yinzhengjie.org.cn | SUCCESS | rc=0 >>
11414 Jps
10860 HMaster
9166 DataNode
6095 NodeManager
10751 HRegionServer

hadoop106.yinzhengjie.org.cn | SUCCESS | rc=0 >>
12369 Jps
11108 DataNode
11846 HRegionServer
11033 NameNode
11258 DFSZKFailoverController
6525 NodeManager

[root@hadoop101.yinzhengjie.org.cn ~]# 
[root@hadoop101.yinzhengjie.org.cn ~]# ansible all -m shell -a 'jps'

2>.再次访问hadoop105.yinzhengjie.org.cn节点的Hmaster对应的WebUI地址

3>.测试Hbase集群的交互式命令行是否可用

[root@hadoop101.yinzhengjie.org.cn ~]# hbase shell
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/ha/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/yinzhengjie/softwares/hbase-2.2.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.4, r67779d1a325a4f78a468af3339e73bf075888bac, 2020年 03月 11日 星期三 12:57:39 CST
Took 0.0024 seconds                                                                                                                                                                                                                                                           
hbase(main):001:0> list              #很明显,当Active HBase Master节点挂掉后,由于有Backup Master的存在,并不会导致集群不可用哟~
TABLE                                                                                                                                                                                                                                                                         
engineer                                                                                                                                                                                                                                                                      
fruit                                                                                                                                                                                                                                                                         
staff1                                                                                                                                                                                                                                                                        
staff2                                                                                                                                                                                                                                                                        
staff3                                                                                                                                                                                                                                                                        
teacher                                                                                                                                                                                                                                                                       
yinzhengjie2020:student                                                                                                                                                                                                                                                       
yinzhengjie2020:teacher                                                                                                                                                                                                                                                       
8 row(s)
Took 0.3705 seconds                                                                                                                                                                                                                                                           
=> ["engineer", "fruit", "staff1", "staff2", "staff3", "teacher", "yinzhengjie2020:student", "yinzhengjie2020:teacher"]
hbase(main):002:0> 

 

posted @ 2020-02-07 22:12  JasonYin2020  阅读(430)  评论(0编辑  收藏  举报