Hbase节点管理

1.退役节点

(1)

 shell>balance_switch false
  然后,hbase-daemon.sh stop regionserver

(2)

graceful_stop.sh
Usage: graceful_stop.sh [--config &conf-dir>] [--restart] [--reload] [--thrift] [--rest] &hostname>
 thrift      If we should stop/start thrift before/after the hbase stop/start
 rest        If we should stop/start rest before/after the hbase stop/start
 restart     If we should restart after graceful stop
 reload      Move offloaded regions back on to the stopped server
 debug       Move offloaded regions back on to the stopped server
 hostname    Hostname of server we are to stop
这样做,受限会下线region,然后将region部署到别的resionserver上,在关闭该regionserver .这样不会有wal log的split。

(3)同时下线多个regionserver。这时候,这些regionserver在 zk Znode 中会被编入hbase_root/draining,这样就避免了一个将一个要下线的机器的region部署到另外一个要下线的机器上的情况。

(3)磁盘损坏时,有两种选择。直接下线datanode(hadoop dfsadmin -refreshNodes) ,

或者等坏盘上的数据被拷贝(dfs.datanode.failed.volumes.tolerated > 0)。

2.回滚重启

(1) hbase hbck  确保集群是连续的

(2)hbase-daemon stop master ;hbase-daemon.sh start master  重启master

(3)for i in `cat conf/regionservers|sort`; do ./bin/graceful_stop.sh --restart --reload --debug $i; done &> /tmp/log.txt &

(4)hbase-daemon stop master ;hbase-daemon.sh start master

(5)hbase hbck  确保集群是连续的

3.添加一个节点

 (1)启动datanode 服务

 (2)hbase-daemon .sh start regionserver

     但是如果中等规模或者大规模的集群,如果是开启balancer的,那么会有很多region被复制过来,这样会影响网速,最好是以一种平和的
 方式,暂时不要启动balancer,一个一个region地部署,或者是在适当的时候出发major compact来移动region。 

原文地址:https://www.cnblogs.com/cl1024cl/p/6205111.html