【发布时间】:2016-04-02 01:46:32
【问题描述】:
我已经从我的 HBase 集群中删除了一个区域服务器。我从 $HBASE_HOME/conf/regionservers 中删除了它的主机名,并重新启动了 HBase 集群,但是 HBase UI 仍然将删除的区域服务器显示为“死”的区域服务器。
hbase shell 中的“status”命令也将其显示为死区服务器。我应该如何摆脱它?
【问题讨论】:
我已经从我的 HBase 集群中删除了一个区域服务器。我从 $HBASE_HOME/conf/regionservers 中删除了它的主机名,并重新启动了 HBase 集群,但是 HBase UI 仍然将删除的区域服务器显示为“死”的区域服务器。
hbase shell 中的“status”命令也将其显示为死区服务器。我应该如何摆脱它?
【问题讨论】:
集群被死区服务器所困扰 :D
HBase 有时仍会显示 decommissioned 区域服务器已死亡。这是因为,死区服务器的 WAL(Write-Ahead Log)仍然处于 HDFS 的“分裂”状态,所以从 HBase 的角度来看,它并没有死!
所以解决办法是去HDFS中的WALs目录(通常在/hbase/WALs),把旧regionserver的文件删除。
经过大量挖掘,在这个精彩的博客kill zombie dead regionservers 上找到了这个。
【讨论】: