1 回答

TA貢獻1772條經(jīng)驗 獲得超6個贊
hbase shell不能創(chuàng)建表的原因分析。
一.現(xiàn)象:
前一段時間 安裝了Hbase
hbase shell
進去之后 list status 命令都能夠正常運行。
但是執(zhí)行建表語句 :
create 'aaa','bbb'
的時候 他就一直卡在那不動,也不報任何錯誤, 日志里面一直在刷如下的 debug日志:
DEBUG org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation: Lookedup root region location, connection=org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation@23faa614; serverName=
INFO org.apache.hadoop.hbase.master.ServerManager: Waiting on regionserver(s) to checkin
然后我進到 hive里面 也是可以執(zhí)行查看語句 但是不能創(chuàng)建表。
狀態(tài)就是 只能讀不能寫。
二.解決辦法:
namenode在啟動的時候首先進入安全模式,如果datanode丟失的block達到一定的比例,則系統(tǒng)會一直處于安全模式狀態(tài)即只讀狀態(tài)。
dfs.safemode.threshold.pct(缺省值0.999f)表示HDFS啟動的時候,如果DataNode上報的block個數(shù)達到了元數(shù)據(jù)記錄的block個數(shù)的0.999倍才可以離開安全模式,否則一直是這種只讀模式。如果設為1則HDFS永遠是處于SafeMode。
有兩個方法離開這種安全模式
(1)修改dfs.safemode.threshold.pct為一個比較小的值,缺省是0.999。
(2)hadoop dfsadmin -safemode leave命令強制離開
用戶可以通過dfsadmin -safemode value 來操作安全模式,參數(shù)value的說明如下:
1. enter - 進入安全模式
2. leave - 強制NameNode離開安全模式
3. get - 返回安全模式是否開啟的信息
4. wait - 等待,一直到安全模式結束。
我采取的辦法是 強制離開安全模式。
進入hadoop 的bin目錄,
執(zhí)行:
hadoop dfsadmin -safemode leave
然后我分別進入 hive 和 hbase
create 就可以 順利的執(zhí)行了。
- 1 回答
- 0 關注
- 708 瀏覽
添加回答
舉報