Hbase节点的管理|服役和退役节点

摘要:
Base节点的管理1、服役当启动regionserver时,regionserver会向Hmaster注册并开始接收本地数据,开始的时候,新加入的节点不会有任何数据,平衡器开启的情况下,将会有新的region移动到开启的RegionServer上。如果启动和停止进程是使用ssh和HBase脚本,那么会将新添加的节点的主机名加入到conf/regionservers文件中。这样就有效的保障了Hbase的可靠性。

Base节点的管理

1、服役(commissioning)

当启动regionserver时,regionserver会向Hmaster注册并开始接收本地数据,开始的时候,新加入的节点不会有任何数据,平衡器开启的情况下,将会有新的region移动到开启的RegionServer上。如果启动和停止进程是使用ssh和HBase脚本,那么会将新添加的节点的主机名加入到conf/regionservers文件中。

2、退役(decommissioning

顾名思义,就是从当前HBase集群节点中删除某个RegionServer,这个过程分为如下几步:

  • Step1、使用以下命令停止负载平衡器
hbase> balance_switch false
  • Step2、在退役节点上停止RegionServer
hbase> hbase-daemon.sh stop regionserver
  • Step3、RegionServer一旦停止,会关闭维护的所有region
  • Step4、Zookeeper上的该RegionServer节点消失
  • Step5、Master节点检测到该RegionServer下线
  • Step6、RegionServer的region服务得到重新分配

该关闭方法比较传统,需要花费一定的时间,而且会造成部分region短暂的不可用。


我们有一种更骚气的关闭方法:

第一种方法是采用暂时停止HRegionServer服务的方式,这种方法可能造成Hbase短暂失效,相比第一种方法,第二种是采用Region从HRegionServer上面进行卸载(即:他们不对外提供服务了)之后HMaster会启动将已经卸载的Region分配到其他的HRegionServer上面。这样就有效的保障了Hbase的可靠性。

Hbase节点的管理|服役和退役节点第1张

  • Step1、RegionServer先卸载所管理的region
$ bin/graceful_stop.sh <RegionServer-hostname>

例如:

$ bin/graceful_stop.sh hadoop-senior02.jingtong.com
  • Step2、自动平衡数据
  • Step3、和之前的2~6步是一样的

免责声明:文章转载自《Hbase节点的管理|服役和退役节点》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ionic常用的命令asp.net Log4Net错误日志个人总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

flink连接hbase方法及遇到的问题

1、继承 RichSinkFunction 类   mvn配置: <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-hbase_2.12</artif...

在线数据迁移经验:如何为正在飞行的飞机更换引擎

 在线数据迁移,是指将正在提供线上服务的数据,从一个地方迁移到另一个地方,整个迁移过程中要求不停机,服务不受影响。根据数据所处层次,可以分为cache迁移和存储迁移;根据数据迁移前后的变化,又可以分为平移和转移。  平移是指迁移前后数据组织形式不变,比如Mysql从1个实例扩展为4个实例,Redis从4个端口扩展到16个端口,HBase从20台机器扩展到...

HBase HA 集群环境搭建

安装准备 已安装并启动 HDFS 集群、Zookeeper 集群 角色分配如下: node-01: namenode datanode regionserver hmaster zookeeper node-02: datanode regionserver zookeeper node-03: datanode regionserver zookee...

HBase海量数据存储

HBaseHBase是一个基于HDFS的非关系型数据库(海量数据存储) HBase的特点 1.海量数据存储,HBase中的表可以容纳上百亿行x上百万列的数据。 2.列式存储,HBase中的数据是基于列进行存储的,能够动态的增加和删除列。 3.准实时查询,HBase在海量的数据量下能够接近准实时的查询(百毫秒以内) 4.多版本,HBase中每一列的数据都有多...

Java_Hbase优化

1、datanode的最大文件数 vi $HADOOP_HOME/conf/hdfs-site.xml <property>   <name>dfs.datanode.max.xcievers</name>   <value>8192</value> </property>   2、解...

hbase 取多个版本数据

http://jiajun.iteye.com/blog/945358 HBase如何存取多个版本的值? 废话少说,一般情况下使用Put的这个方法保存一个版本: Java代码 /** *AddthespecifiedcolumnandvaluetothisPutoperation. *@paramfamilyfamilyname *@paramq...