Hmaster没有运行

时间:2013-05-11 13:18:49

标签: hbase

我是Hadoop和Hbase的新手。我在我的本地文件系统上运行Hbase并尝试通过Hbase创建一些表,但后来知道Hmaster没有开始。我更改了hbase-site.xml,但似乎没有改进。我的xml中有以下条目:

<property>
    <name>hbase.rootdir</name>
    <value>file:///home/cluster/hbase</value>
</property>


<property>
    <name>hbase.master</name>
    <value>localhost:9000</value>
</property>

<property>
    <name>hbase.zookeeper.quorum</name>
            <value>localhost</value>
</property>

 <property>    
    <name>hbase.zookeeper.property.dataDir</name>
    <value>file:///home/cluster/zooKeeper</value>    
</property>

localhost:127.0.0.1

例外是:

java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused
    at org.apache.hadoop.ipc.Client.wrapException(Client.java:1099)
    at org.apache.hadoop.ipc.Client.call(Client.java:1075)
    at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
    at com.sun.proxy.$Proxy11.getProtocolVersion(Unknown Source)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:396)
    at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:379)
    at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:119)
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:238)
    at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:203)
    at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:89)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1386)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1404)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:254)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:123)
    at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:191)
    at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:420)
    at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:149)
    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:2044)
Caused by: java.net.ConnectException: Connection refused

1 个答案:

答案 0 :(得分:0)

我建议使用CDH这样的分发版并按照安装说明进行操作。如果你刚开始的话,它会比尝试自己设置简单得多。

对于它的价值,我从来不需要设置hbase.master属性。您确实需要设置hbase.rootdir属性,但这应该指向HDFS目录而不是本地file:// URL。这可能是你问题的原因。您还需要一个正常运行的HDFS集群。 CDH将非常容易地为开发人员机器设置伪分布式环境。

供参考,这是使用CDH4的本地hbase-site.xml

<configuration>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>localhost</value>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://localhost:8020/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.support.append</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
  </property>
</configuration>

从技术上讲,我相信您可以放弃dfs.support.appenddfs.client.read.shortcircuit,但这些也很有用。

同样,这是HDFS的本地core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8020</value>
  </property>
</configuration>