今天做了以下HBase的相关安装和配置,启动HBase没有问题,但是使用bin/hbase shell 命令转换到shell下时,使用比如命令,list.、create 'table','col' 等等都会出错,下面贴的是log里面的error部分:
012-08-26 19:19:36,389 WARN org.apache.hadoop.hbase.master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to localhost.localdomain,37482,1345979971214, trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost.localdomain/127.0.0.1:37482 after attempts=1
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:242)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1284)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1240)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1227)
at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:544)
at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:477)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1618)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1352)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1327)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1322)
at org.apache.hadoop.hbase.master.AssignmentManager.assignRoot(AssignmentManager.java:2158)
at org.apache.hadoop.hbase.master.HMaster.assignRootAndMeta(HMaster.java:601)
at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:525)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:343)
at org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.run(HMasterCommandLine.java:220)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:328)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:362)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1045)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:897)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy13.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:303)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:280)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:332)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
... 15 more
2012-08-26 19:19:36,392 WARN org.apache.hadoop.hbase.master.AssignmentManager: Unable to find a viable location to assign region -ROOT-,,0.70236052
2012-08-26 19:19:45,197 INFO org.apache.hadoop.hbase.master.AssignmentManager: Regions in transition timed out: -ROOT-,,0.70236052 state=OFFLINE, ts=1345979976392, server=null
2012-08-26 19:19:45,198 INFO org.apache.hadoop.hbase.master.AssignmentManager: Region has been OFFLINE for too long, reassigning -ROOT-,,0.70236052 to a random server
2012-08-26 19:19:45,206 DEBUG org.apache.hadoop.hbase.zookeeper.ZKAssign: master:32879-0x13962a871330000 Creating (or updating) unassigned node for 70236052 with OFFLINE state
2012-08-26 19:19:45,231 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Handling transition=M_ZK_REGION_OFFLINE, server=fansy-Lenovo-G450,32879,1345979970648, region=70236052/-ROOT-
2012-08-26 19:19:45,232 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Found an existing plan for -ROOT-,,0.70236052 destination server is localhost.localdomain,37482,1345979971214
2012-08-26 19:19:45,233 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: No previous transition plan was found (or we are ignoring an existing plan) for -ROOT-,,0.70236052 so generated a random one; hri=-ROOT-,,0.70236052, src=, dest=localhost.localdomain,37482,1345979971214; 1 (online=1, available=1) available servers
2012-08-26 19:19:45,233 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: Assigning region -ROOT-,,0.70236052 to localhost.localdomain,37482,1345979971214
2012-08-26 19:19:45,233 DEBUG org.apache.hadoop.hbase.master.ServerManager: New connection to localhost.localdomain,37482,1345979971214
2012-08-26 19:19:45,233 INFO org.apache.hadoop.ipc.HBaseRPC: Server at localhost.localdomain/127.0.0.1:37482 could not be reached after 1 tries, giving up.
2012-08-26 19:19:45,233 WARN org.apache.hadoop.hbase.master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to localhost.localdomain,37482,1345979971214, trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to localhost.localdomain/127.0.0.1:37482 after attempts=1
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:242)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1284)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1240)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:1227)
at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:544)
at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:477)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1618)
at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1352)
at org.apache.hadoop.hbase.master.AssignCallable.call(AssignCallable.java:44)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:599)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:489)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupConnection(HBaseClient.java:328)
at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:362)
at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:1045)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:897)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy13.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:303)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:280)
at org.apache.hadoop.hbase.ipc.HBaseRPC.getProxy(HBaseRPC.java:332)
at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:236)
... 13 more
虽然看到了log文档里面的提示,但是由于是刚开始接触HBase,所以还是不知道如何下手。还是上网找各种资源,最后看到官方文档上面说,如果系统是Ubuntu的话,要注意
/etc/hosts里面的127.0.0.1是否是127.0.1.1,如果是的话,把他改过来就可以了。
虽然网上大家的版本各种各样,但是如果真的要学的话,还是官网上面的资料齐全点。