你好,游客 登录 注册 搜索
背景:
阅读新闻

分布式数据库 Hbase 的高可用管理和监控(二)

[日期:2013-11-12] 来源:开源中国社区  作者: [字体: ]

  图 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 管理页面。





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款