图 5. BigInsights Web 管理界面
在 BigInsights Web 管理界面中点击“Cluster Status”页面,可以实现对 HBase, Zookeeper 以及其他模块状态的监控、启停。
“Cluster Status”页面左上方分别列出 BigInsights 集群中所有组件的服务的运行状态。可以看到所有服务目前都处于正常的运行状态中。选择“HBase”,可以查看 HBase 集群的服务信息,如图 8,列出了 HBase 的简要信息,包括 HBase 集群状态 (Start/Stop),HBase Master 节点及进程号,平均 Load 数,HBase 集群中生存的 Region Server 个数,死亡的 Region Server 个数等。
图 6. HBase 服务状态监控
图 7. HBase Master 服务状态监控及启停
图 8. HBase Region Servers 服务状态监控及启停
此外,BigInsights 提供了统一的命令行接口对集群的组件进行管理。用户可以方便的使用命令行来检查 HBase 集群使用的健康状态,增加和删除 HBase 节点 , 启动、停止某个服务,或者查询服务的状态等。
检查 HBase 组件的健康状态
您可以 BigInsights 管理节点上通过以下命令来验证 HBase 集群的健康状态:
$/bin/sh $BIGINSIGHTS_HOME/bin/healthcheck.sh hbase
同步 HBase 的配置文件
作为集群管理人员,通常需要修改配置参数来调优 HBase 的集群性能,或者修改相关配置,所有的这些操作都需要修改 HBase 的配置文件,如 hbase-site.xml. regionservers, hbase-env.sh, hadoop-metrics.properties 或者 log4j.properties,BigInsights 集群管理为各组件提供统一的配置文件同步功能,以保证统一之组件在所有节点上配置的一致性。您可以通过以下命令来同步 HBase 配置文件:
1. 您可以在 BigInsights 管理节点的 $BIGINSIGHTS_HOME/hdm/components/hbase/conf/ 目录下更新 HBase 配置文件
2. 在 BigInsights 管理节点上通过运行以下命令同步所有的节点的 HBase 配置文件:
$/bin/sh $BIGINSIGHTS_HOME/bin/syncconfig.sh
hbase 增删 HBase 节点
BigInsights 平台支持增删 HBase 节点的功能。
1. 增加节点
您可以在 BigInsights 管理节点上运行以下命令来增加一个或多个节点到 HBase 集群中:
$/bin/sh $BIGINSIGHTS_HOME/bin/addnode.sh hbase node1 -type=master
$/bin/sh $BIGINSIGHTS_HOME/bin/addnode.sh hbase node1 -type=regionserver
其中 node1 可以是 IP 地址也可以是 hostname.
2. 删除节点
您可以在 BigInsights 管理节点上运行以下命令来从 HBase 集群中删除一个或多个节点,删除 HBase 节点只会删除 HBase 服务,不会删除任何数据。
$/bin/sh $BIGINSIGHTS_HOME/bin/removenode.sh hbase
其中 node1 可以是 IP 地址也可以是 hostname.
启停和查看 HBase 服务
您可以在 BigInsights 管理节点上运行以下命令来启动 HBase 集群服务 :
$/bin/sh $BIGINSIGHTS_HOME/bin/start.sh hbase
您可以在 BigInsights 管理节点上运行以下命令来停止 HBase 集群服务 :
$/bin/sh $BIGINSIGHTS_HOME/bin/stop.sh hbase
查看 HBase 服务:
您可以在 BigInsights 管理节点上运行以下命令来查看 HBase 集群服务状态 :
$/bin/sh $BIGINSIGHTS_HOME/bin/status.sh hbase
HBase Master 多结点高可用支持
我们可以在 HBase 集群中启动多个 Master 节点,其中第一个启动的节点作为活跃 (Active)Master 对外提供服务,而其他的作为备份 (Backup)Master 节点;实际上,HBase 通过 Zookeeper 来保存活跃 Master 节点信息,一旦当前活跃 Master 节点由于硬件故障或者断电等原因失去连接,备份 Master 会通过 Zookeeper 收到该信息,并选举产生新的活跃 Master 提供服务。接下来将详细描述如何通过 BigInsights 启动多个 Master 并进行状态监控。
1. 通过命令行模式添加 / 启动 / 监控 HBase Master
A) 登录 BigInsights 管理节点,查看当前 HBase 集群状态
[biadmin@bdvm070 ~]$ status.sh hbase
[INFO] Progress - Status hbase
[INFO] @bdvm070.svl.ibm.com - hbase-master(active) started, pid 18157
[INFO] @bdvm071.svl.ibm.com - hbase-regionserver started, pid 12072
[INFO] Deployer - hbase service started
[INFO] Progress - 100%
[INFO] DeployManager - Status; SUCCEEDED components: [hbase]; Consumes : 9699ms
B) 添加 bdvm071 为备用 Master 节点
[biadmin@bdvm070 ~]$ addnode.sh hbase bdvm071.svl.ibm.com -type=master
[INFO] DeployManager - Check SSH setup on [bdvm071.svl.ibm.com]
[INFO] @bdvm071.svl.ibm.com - OK, password-less SSH has setup.
...
[INFO] DeployManager - Add hbase nodes; SUCCEEDED components: [hbase]; Consumes : 0ms
C) 启动备用 Master 节点
[biadmin@bdvm070 ~]$ start.sh hbase
[INFO] Progress - Start hbase
[INFO] Deployer - make sure zookeeper service is started before start hbase service
[INFO] @bdvm070.svl.ibm.com - hbase-master(active) already running, pid 18157
[INFO] @bdvm071.svl.ibm.com - hbase-master(backup) started
[INFO] @bdvm071.svl.ibm.com - hbase-regionserver already running, pid 12072
[INFO] Deployer - hbase service started
[INFO] Progress - 100%
[INFO] DeployManager - Start; SUCCEEDED components: [hbase]; Consumes : 14110ms
D) 重新查看 HBase 集群状态
[biadmin@bdvm070 ~]$ status.sh hbase
[INFO] Progress - Status hbase
[INFO] @bdvm070.svl.ibm.com - hbase-master(active) started, pid 18157
[INFO] @bdvm071.svl.ibm.com - hbase-master(backup) started
[INFO] @bdvm071.svl.ibm.com - hbase-regionserver started, pid 12072
[INFO] Deployer - hbase service started
[INFO] Progress - 100%
[INFO] DeployManager - Status; SUCCEEDED components: [hbase]; Consumes : 14382ms
E) 停止当前活跃 Master 节点并查看 HBase 集群状态
[biadmin@bdvm070 ~]$ $HBASE_HOME/bin/hbase-daemon.sh stop master
stopping master.
[biadmin@bdvm070 ~]$ status.sh hbase
[INFO] Progress - Status hbase
[INFO] @bdvm070.svl.ibm.com - hbase-master stopped
[INFO] @bdvm071.svl.ibm.com - hbase-master(active) started, pid 19840
[INFO] @bdvm071.svl.ibm.com - hbase-regionserver started, pid 12072
[INFO] Deployer - hbase service started
[INFO] Progress - 100%
[INFO] DeployManager - Status; SUCCEEDED components: [hbase]; Consumes : 52069ms
通过上述操作我们可以看到,通过命令行可以在 BigInsights 集群中随时添加备份 Master 并进行 Master 的启停 / 监控。另外需要注意的是,备份 Master 检测到活跃 Master 宕机并切换为活跃 Master 需要一定的时间,因此在实际集群使用过程当中应当尽量避免主动停止当前活跃 Master 进程的操作。下面给出上述操作序列在 BigInsights Web 管理页面的监控情况。
2. BigInsights Web 管理页面监控 HBase 集群状态
A) 添加备用 Master 前 HBase Master 运行状态
图 9. 添加备用 Master 前 HBase Master 运行状态
B) 添加备用 Master 并启动后 HBase Master 运行状态
图 10. 添加备用 Master 后 HBase Master 运行状态
C) 停止当前活跃 Master 后 HBase Master 运行状态
图 11. 停止当前活跃 Master 后 HBase Master 运行状态
D) 再次启动已停止的 Master 节点之后 HBase Master 运行状态(由于此时已有活跃 Master,重新启动的 Master 节点将作为备用 Master)
图 12. 再次启动已停止的 Master 节点之后 HBase Master 运行状态
通过 BigInsights Web 管理页面也可以方便的启动 / 停止指定的 Master 节点,具体步骤请参考相关章节,此处不再赘述。
反向代理 HBase UI
Reverse proxy 是 BigInsights 提供的反向代理工具,可以对 BigInsights 中所拥有 UI 界面的服务组件进行反向代理连接支持。(注意:此功能仅在 BigInsights Enterprise 版本里提供。)
图 13. Reverse proxy 管理 HBase 页面
例如,在打开 Reverse proxy 管理页面之后,利用 Reverse proxy 提供的 URL 和 Alias 映射功能,能够简便地将服务 UI 通过直观的链接来重定向打开。
通过 Reverse Proxy 页面,点击“hbase-master”可以直接打开 HBase Master 管理页面。
图 14. 打开 HBase Master 管理页面
通过 Reverse Proxy 页面,点击“hbase-regionserver”可以直接打开 HBase Regionserver 管理页面。