您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“在hbase shell中輸入命令無響應(yīng)并報(bào)錯(cuò)怎么辦”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
今天將單機(jī)的hbase加入hadoop集群中,啟動(dòng)hbase表現(xiàn)很正常。執(zhí)行status長時(shí)間無響應(yīng)。一段時(shí)間后報(bào)錯(cuò):ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times。
并且訪問hbase界面的60010端口(http://node1:60010/master-status)也無法打開:
查看日hbase/logs中日志后。在文件hbase-hadoop-master-node1.out中出現(xiàn)了如下一行:
14/10/05 22:25:52 WARN zookeeper.ClientCnxn: Session 0x0 for server null, unexpe cted error, closing socket connection and attempting reconnect java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574 ) at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocket NIO.java:350) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068) 14/10/05 22:25:53 INFO zookeeper.ClientCnxn: Opening socket connection to server node1/10.0.0.101:10086. Will not attempt to authenticate using SASL (無法定位登 配置)
原來是我的hbase/conf下的hbase-site.xml里的配置:
<property> <name>hbase.rootdir</name> <value>hdfs://node1:10086/hbase</value> </property>
和hadoop/conf里的core-site.xml里的
<property> <name>fs.default.name</name> <value>hdfs://node1:9000</value> </property>
不一致。必須保證兩文件中地址和端口一致。都改成9000端口就好了。
執(zhí)行命令:
[hadoop@node1 bin]$ ./hbase shell HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 0.94.23, rf42302b28aceaab773b15f234aa8718fff7eea3c, Wed Aug 27 00:54:09 UTC 2014 hbase(main):001:0> status 1 servers, 0 dead, 2.0000 average load
訪問http://node1:60010頁面打開正常。
ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times。
出現(xiàn)上面這個(gè)錯(cuò)誤一般有哪幾種情況呢?
如果在hbase的配置文件中將rootdir屬性設(shè)為hdfs,如果hbase與hadoop之前RPC協(xié)議不一致就會(huì)導(dǎo)致了這個(gè)問題的發(fā)生。
1.你可以檢查hadoop的服務(wù)進(jìn)程是否啟動(dòng)。
2.也可以查看他們兩者間版本是否一致(如:查看hbase/lib下的hadoop-core文件的版本為hadoop-core-1.0.4.jar,而你的hadoop根目錄下是hadoop-core-1.0.3.jar ,則不一致),如果不一致你可以將hadoop/hadoop-core-*.jar拷貝到hbase/lib/下。
3.另外可以查看是否是以安全模式啟動(dòng)的hadoop(命令:hadoop dfsadmin -safemode get查看安全模式狀態(tài)),如果是開啟的則關(guān)閉(命令:hadoop dfsadmin -safemode leave離開安全模式)。
4.當(dāng)然,還有一種是兩者間主機(jī)的系統(tǒng)時(shí)間不一致導(dǎo)致的(比如時(shí)區(qū)設(shè)定不一致,導(dǎo)致時(shí)間相差過大)。
當(dāng)然解決這樣的問題還是得查看相關(guān)日志,從日志文件入手,你才能知道到底是哪一種情況。比如同樣是報(bào)上面的錯(cuò)誤,而查過日志后,才會(huì)發(fā)現(xiàn)我的問題是端口不一致導(dǎo)致的。
“在hbase shell中輸入命令無響應(yīng)并報(bào)錯(cuò)怎么辦”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。