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

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

时间: 2024-09-28 22:40:16

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

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

HBase 作为 BigTable 的一个开源实现,随着其应用的普及,越来越被各大企业应用于海量数据系统中.本文将向读者简要介绍 Apache HBase 的基本知识,并展开介绍 IBM 对 HBase 的改进和扩展,HBase Master 多结点高可用支持,以及如何利用 IBM BigInsights 在 IBM Hadoop 集群中对 HBase 服务和作业提交进行监控和管理.本文将帮助读者在大数据云计算 Hadoop 集群应用中利用 HBase 更加高效.直观.便捷地进行存储,查询和优化

Hadoop白皮书(2):分布式数据库HBase简介

HBase 是一个面向列的分布式数据库.HBase 不是一个关系型数据库,其设计目标是用来解决关系型数据库在处理海量数据时的理论和实现上的局限性.传统关系型数据库在上世纪七十年代为交易系统设计,以满足数据一致性 (ACID)为目标,并没有考虑数据规模扩大时的扩展性,以及单点系统失效时的可靠性.虽然经过多年的技术发展,产生了一些对关系性数据库的修补(并行数据库),然而受限于理论和实现上的约束,扩展性从来没有超过 40 个服务器节点.而 HBase 从一开始就是为 Terabyte 到Petabyt

什么是面向列开源分布式数据库Hbase - 产品和技术

什么是面向列开源分布式数据库Hbase 发布时间:2012.04.16 14:41      来源:和讯     作者:和讯 HBase是一个分布式的.面向列的开源数据库,由Apache基金会开发.HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.它基于列的而不是基于行的模式.用户存储数据行在一个表里.一个数据行拥有一个可选择的键和任意数量的列.用户可根据键访问行,以及对于一系列的行进行扫描和过滤.HBase一个可以横向扩张的表存储系统,能够为大规模数据提供速度极快的低等

分布式数据库HBase表设计

比较常用的数据库是关系型数据库,但很多场景下nosql数据库会更加擅长,从sql到nosql实施的第一步就是设计表结构,这是两种不同的思维方式,这里说下HBase表设计. 需求:需要一张stock表用于保存市场所有股票的分钟走向,即每个股票每分钟记录一次价格. 方案一:瘦表. 用stockId+datetime作为RowKey,这样方便通过stockId或datetime快速扫描获取到相关记录. RowKey ColumnFamily "stock_cf" stockId+dateti

Oracle和MySQL的高可用方案对比(二)

对比 昨天聊了一篇关于高可用方案中Oracle的RAC和MySQL的MHA的对比. 今天来说下Oracle的DG和MySQL的方案对比,相比来说,可能这方面MySQL会单薄一些,所以文末会说下InnoDB Cluster. 在灾备的概念中,Oracle DBA喜欢叫做主备,即为Primary,Standby,而MySQL喜欢叫做主从,即为Master,Slave 首先在Oracle中,数据是基于物理复制(此处说的都是physical standby),所以对于数据库的状态和角色就很好定位,从库正

分布式数据库 HBase

http://www.aliyun.com/zixun/aggregation/13713.html">HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群. HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统:Google运行MapReduce来

mysql 高可用方案漫谈(二)

引言: 上一期介绍了对于单个实例主备切换的涉及的业务细节,这次我们更深一步,讨论下真实场景中主库故障,或者网络出现故障时涉及到的问题.如果有不妥的地方,欢迎大家指正. 主库故障: 故障分类 一般的,我们会发现mysql 不可用的原因有几下几类: 1,主机硬件损坏,导致主机hang死,或者操作系统crash.此时客户端连接主机上的mysql进程时的表现是连接超时.因为不会回复ack包.此种情况与网络中断不能回包的表现是一样的,所以对于外部是无法判定是主机down还是网络故障的.我们遇到过raid

高可用Hadoop平台-HBase集群搭建

1.概述 今天补充一篇HBase集群的搭建,这个是高可用系列遗漏的一篇博客,今天抽时间补上,今天给大家介绍的主要内容目录如下所示: 基础软件的准备 HBase介绍 HBase集群搭建 单点问题验证 截图预览 那么,接下来我们开始今天的HBase集群搭建学习. 2.基础软件的准备 由于HBase的数据是存放在HDFS上的,所以我们在使用HBase时,确保Hadoop集群已搭建完成,并运行良好.若是为搭建Hadoop集群,请参考我写的<配置高可用的Hadoop平台>来完成Hadoop平台的搭建.另

数据库高可用实战:化繁为简搭建一套轻量级架构

作者介绍 吴虞,SQL专家云团队成员,擅长解决SQL SERVER数据库性能.高可用.负载均衡等问题.   说到高可用,看官们会想到很多方案,也许是自亲身经历过系统从单机变成高可用的痛苦过程,也许有的看官只是在自己的虚机上搭建过测试的玩具.本文以我自己的真实经历给大家讲述,不管怎样,实战和测试玩耍还是很大区别的,可能你觉得搭建一套高可用方案很简单,配置下就OK了,但在真正的复杂系统中一切就没那么轻松了!    本文主要讲述升级并搭建AlwaysOn高可用的过程,以实施的思路为主.文中并没有搭建集