報錯背景
服務器集群擴容,有一台節點忘記擴容並且硬盤可用空間為0的情況下啟動了HBase集群,導致HBase處於不健康的運行狀態。
報錯現象
HBase無法正常關閉
查看日志 hbase-root-regionserver-bigdata2.log
2020-09-28 10:27:53,657 WARN [regionserver/bigdata2:16020] regionserver.HRegionServer: reportForDuty failed; sleeping and then retrying. 2020-09-28 10:27:56,658 INFO [regionserver/bigdata2:16020] regionserver.HRegionServer: reportForDuty to master=bigdata1,16000,1601259923019 with port=16020, startcode=1601259928763 2020-09-28 10:27:56,667 WARN [regionserver/bigdata2:16020] regionserver.HRegionServer: reportForDuty failed; sleeping and then retrying.
報錯原因
(1)HBase的不健康狀態導致hadoop進入安全模式,因此導致HBase不能正常運行。
(2)HDFS中/hbase/MasterProcWALs下日志文件太多,造成HBase重啟失敗。
報錯解決
hadoop查看安全模式
# hadoop dfsadmin -safemode get
hadoop退出安全模式 # hadoop dfsadmin -safemode leave 重啟HBase # stop-hbase.sh # start-hbase.sh
查看HDFS中的數據,我的此目錄下數據達到100GB # hadoop dfs -ls /hbase/MasterProcWALs
刪除日志文件 # hadoop dfs -rm -r /hbase/MasterProcWALs/pv*
重啟HBase
# stop-hbase.sh # start-hbase.sh