HDFS+Zookeeper+Hbase錯誤

1、在安裝Hbase時報如下錯誤:
2013-06-13 20:11:34,749 INFO org.apache.zookeeper.server.NIOServerCnxn: Closed socket connection for client /127.0.0.1:48725 (no session established for client)
2013-06-13 20:11:34,749 INFO org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster: Started MiniZK Cluster and connect 1 ZK server on client port: 2181
2013-06-13 20:11:34,879 DEBUG org.apache.hadoop.hbase.master.HMaster: Set serverside HConnection retries=100
2013-06-13 20:11:35,400 ERROR org.apache.hadoop.hbase.master.HMasterCommandLine: Failed to start master
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMasterCannot assign requested address
at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:134)
at org.apache.hadoop.hbase.LocalHBaseCluster.addMaster(LocalHBaseCluster.java:197)
at org.apache.hadoop.hbase.LocalHBaseCluster.<init>(LocalHBaseCluster.java:147)
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:146)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:104)
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:2079)
Caused by: java.net.BindException: Problem binding to /60.191.124.236:0 : Cannot assign requested address
at org.apache.hadoop.hbase.ipc.HBaseServer.bind(HBaseServer.java:258)
at org.apache.hadoop.hbase.ipc.HBaseServer$Listener.<init>(HBaseServer.java:482)
at org.apache.hadoop.hbase.ipc.HBaseServer.<init>(HBaseServer.java:1559)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.<init>(WritableRpcEngine.java:252)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getServer(WritableRpcEngine.java:201)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getServer(WritableRpcEngine.java:55)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getServer(HBaseRPC.java:330)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getServer(HBaseRPC.java:319)
at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:306)
at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.<init>(HMasterCommandLine.java:221)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:131)
... 7 more
Caused by: java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.apache.hadoop.hbase.ipc.HBaseServer.bind(HBaseServer.java:256)
... 21 more


原因是主機名沒有綁定host,設置/etc/hosts,127.0.0.1 主機名
PS:如果按照下面的步驟操作,這個問題就可以避免。

接下來出現的幾個問題基本都是和HOSTNAME有關係:
1、2012-11-12 16:41:39,099 [myid:] - INFO [main-SendThread(x.x.x.x:2181):ClientCnxn$SendThread@966] - Opening socket connection to server x.x.x.x/x.x.x.x:2181. Will not attempt to authenticate using SASL (無法定位登錄配置)
2、ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times
3、ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
這幾個問題基本是和hosts配置有關,zookeeper對IP的支持也特別弱,再做關聯的時候建議最好是HOSTNAME,具體的配置是:
在/etc/hosts中配置機器名和相應的IP(三臺機器一樣的配置):
192.168.16.133 namenode
192.168.16.134 datanode1
192.168.16.135 datanode2

PS:機器名不要映射到127.0.0.1上

在各個機器上分別中配置機器名:
vi /etc/sysconfig/network
HOSTNAME=namenode
HOSTNAME=datanode1
HOSTNAME=datanode2


修改完後記得使設置生效,運行命令:hostname namenode、hostname datanode1、hostname datanode2,如果不行就重啓機器;

[b]接着就把所有配置文件的IP換成HOSTNAME。
[/b]
[b]另外還有很重要的一點就是服務器時間一定要同步,至少也要保證服務器時間相差不要太遠。
[/b]
以上操作完了,在把hdfs format一下,全部重新啓動,hdfs->zookeeper->hbase。


MapReduce操作錯誤:
1、
13/06/22 17:02:00 ERROR security.UserGroupInformation: PriviledgedActionException as:zhangsan cause:java.net.UnknownHostException: unknown host: namenode
Exception in thread "main" java.net.UnknownHostException: unknown host: namenode

之前在linux綁定的主機名需要在本地windows hosts文件中綁定,格式:IP linux主機名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章