hbase中对deadserver处理存在的问题
生活随笔
收集整理的這篇文章主要介紹了
hbase中对deadserver处理存在的问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
hbase在一個(gè)regionServer死掉后,即使重啟了這個(gè)server,deadlist中也不會(huì)去掉原先死去的deadserver。
例如:
Java代碼
hbase shellstatus
5 servers, 0 dead, 6.2000 average load停掉其中一個(gè)節(jié)點(diǎn)
Java代碼
hbase-daemon.sh stop regionserver然后
Java代碼
hbase shellstatus
4 servers, 1 dead, 6.2000 average load再立即重啟該節(jié)點(diǎn):
Java代碼
hbase-daemon.sh start regionserver此時(shí)回到shell中
Java代碼
hbase shellstatus
5 servers, 1 dead, 6.2000 average load根本原因是在ServerManager中處理時(shí)只有add而沒有remove,當(dāng)然deadlist值有一個(gè)上限由hbase.master.maxdeadservers決定,默認(rèn)為100:
Java代碼
public synchronized boolean add(String e) { this.numProcessing++; // Check to see if we are at capacity for dead servers if (deadServerList.size() == this.maxDeadServers) { deadServers.remove(deadServerList.remove(0)); } deadServerList.add(e); return deadServers.add(e); }總結(jié)
以上是生活随笔為你收集整理的hbase中对deadserver处理存在的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 启动namenode报错:Journal
- 下一篇: 解决HBase RegionServer