2013-04-25 83 views
4

我一直在努力讓Hbase在我的機器上工作。我相信我的設置有問題,我無法修復它。我得到主人沒有運行錯誤,但Jsp清楚地顯示它正在運行。啓動Hadoop和Hbase後。我做了JPS獲取主程序未運行異常

當我嘗試調用Hbase shell中的命令時,出現以下錯誤。

hbase(main):001:0> list 
TABLE 
2013-04-25 16:20:28.933 java[1609:1703] Unable to load realm info from SCDynamicStore 

ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 

Here is some help for this command: 
List all tables in hbase. Optional regular expression parameter could 
be used to filter the output. Examples: 

    hbase> list 
    hbase> list 'abc.*' 

hbase(main):002:0> scan 'ResultStore' 
ROW             COLUMN+CELL 
13/04/25 16:26:13 INFO ipc.HBaseRPC: Problem connecting to server: mymachineip/129.10.3.181:60020 

這裏是我的site.xml

<configuration> 
    <property> 
     <name>hbase.rootdir</name> 
     <value>hdfs://129.10.3.181:8020/hbase</value> 
    </property> 
    <property> 
     <name>hbase.zookeeper.property.dataDir</name> 
     <value>/Users/yeshwanthvenkatesh/Documents/Hadoop/zookeeper</value> 
    </property> 
    <property> 
     <name>hbase.master</name> 
     <value>129.10.3.181:60000</value> 
     <description>The host and port that the HBase master runs at.</description> 
    </property> 
    <property> 
     <name>hbase.zookeeper.quorum</name> 
     <value>129.10.3.181</value> 
    </property> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
    </property> 
    <property> 
     <name>hbase.cluster.distributed</name> 
     <value>true</value> 
    </property> 
    <property> 
     <name>hbase.regionserver.port</name> 
     <value>60020</value> 
     <description>The host and port that the HBase master runs at.</description> 
    </property> 
    <property> 
     <name>hbase.zookeeper.property.clientPort</name> 
     <value>2181</value> 
    </property> 
    <property> 
     <name>hbase.zookeeper.property.dataDir</name> 
     <value>/Users/yeshwanthvenkatesh/Documents/Hadoop/Daemons/zookeeper</value> 
    </property> 
</configuration> 

這裏是我的etc/hosts文件

127.0.0.1  localhost 
129.10.3.181 mymachineip 
255.255.255.255 broadcasthost 
# For Hadoop 
# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

我不是管理動物園管理員實例,所以我已經設置到真正的我hbase-env.sh。 這是我做錯了什麼? 日誌也不是很有幫助。

13/04/25 16:08:52 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=129.10.3.181:2181 sessionTimeout=180000 watcher=hconnection 
13/04/25 16:08:52 INFO zookeeper.ClientCnxn: Opening socket connection to server mymachineip/129.10.3.181:2181. Will not attempt to authenticate using SASL (unknown error) 
13/04/25 16:08:52 INFO zookeeper.RecoverableZooKeeper: The identifier of this process is [email protected] 
13/04/25 16:08:52 INFO zookeeper.ClientCnxn: Socket connection established to mymachineip/129.10.3.181:2181, initiating session 
13/04/25 16:08:53 INFO zookeeper.ClientCnxn: Session establishment complete on server mymachineip/129.10.3.181:2181, sessionid = 0x13e42c9a109000a, negotiated timeout = 180000 
13/04/25 16:08:53 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 0 of 1 failed; no more retrying. 
org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet 
    at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1415) 

    at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1021) 
    at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150) 
    at sun.proxy.$Proxy5.getProtocolVersion(Unknown Source) 
    at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183) 
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:335) 
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:312) 
    at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:364) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:682) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:113) 
    at org.apache.hadoop.hbase.master.HMasterCommandLine.stopMaster(HMasterCommandLine.java:175) 
    at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:106) 
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 
    at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:76) 
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:1928) 
13/04/25 16:08:53 INFO client.HConnectionManager$HConnectionImplementation: Closed zookeeper sessionid=0x13e42c9a109000a 
13/04/25 16:08:53 INFO zookeeper.ZooKeeper: Session: 0x13e42c9a109000a closed 
13/04/25 16:08:53 INFO zookeeper.ClientCnxn: EventThread shut down 
13/04/25 16:08:53 ERROR master.HMasterCommandLine: Master not running 
+0

最後的日誌中有最新的版本說,當你試圖阻止HBase的,主人是「尚未運行」,這意味着它是在一個糟糕的狀態之前,即使壽過程還活着。日誌應該在13/04/25 16:08:52之前包含更多有用的信息。 – 2013-04-25 21:44:16

回答

0

從您的日誌和主機文件我沒有看到您的配置有任何問題。所以可能是版本不兼容的問題。我也面臨同樣的問題,所以我改變了我的hbase版本與zookeeper-3.4.3,hadoop 1.0.1一起下載hbase-0.94.11並且工作正常。雖然我沒有找到任何問題的具體原因,但它工作正常。

0

如果你使用的是hbase 0.94,那麼就有一個bug。您需要使用roodir代替rootdirhbase-site.xml

<property> 
    <name>hbase.roodir</name> 
    <value>hdfs://localhost:9000/hbase</value> 
</property> 
0

這將是更好地使用HBase的最新穩定版本是1.2倍。 1.1x也在流行使用。 如果您嘗試在本地計算機上運行Hadoop,則無需單獨啓動hadoop和Hbase。

下載從https://hbase.apache.org/