2012-06-28 50 views
4

编辑:我能够得到这个工作。我创建了一个教程,说明如何: http://www.dreamsyssoft.com/blog/blog.php?/archives/5-How-to-use-HBase-Hadoop-Clustered.html不能让HBase连接到Hadoop

我能得到的HBase当我设置的HBase-site.xml中物业工作得很好:

<name>hbase.rootdir</name> 
<value>file:///app/hbase/hbase/</value> 

这一切正常,它存储在数据目录,但我希望它连接到我正在运行的hadoop实例,而不是使用本地文件。我把它设置为

<value>hdfs://localhost:9000/</value> 

而不是本地文件,它不会工作。我需要在hadoop方面做一些额外的配置来支持它吗? Hadoop是运行并使用端口号为9000

这里是我的核心-site.xml中从Hadoop的:

<configuration> 
     <property> 
       <name>fs.default.name</name> 
       <value>hdfs://localhost:9000</value> 
     </property> 
</configuration> 

而且这里是试图在HBase的壳里做一个“清单”时出现错误:

hbase(main):001:0> list 
TABLE 
12/06/28 15:26:29 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries 
12/06/28 15:26:29 WARN zookeeper.ZKUtil: hconnection Unable to set watcher on znode /hbase/master 
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/master 
     at org.apache.zookeeper.KeeperException.create(KeeperException.java:99) 
     at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) 
     at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1021) 
     at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:154) 
     at org.apache.hadoop.hbase.zookeeper.ZKUtil.watchAndCheckExists(ZKUtil.java:226) 
     at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.start(ZooKeeperNodeTracker.java:76) 
     at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:580) 
     at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:569) 
     at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:186) 
     at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:98) 
     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.jruby.javasupport.JavaConstructor.newInstanceDirect(JavaConstructor.java:275) 
     at org.jruby.java.invokers.ConstructorInvoker.call(ConstructorInvoker.java:91) 
     at org.jruby.java.invokers.ConstructorInvoker.call(ConstructorInvoker.java:178) 
+0

你能告诉我你使用的是何种分布与Hadoop和HBase的版本?另外,您在什么模式下运行群集:独立?伪分布式? Disctributed?最后,你是试图从集群内部连接HBase还是从集群外部远程连接? – Tucker

+0

你能否从shell运行hadoop命令。先检查一下。 – pyfunc

回答