2016-04-27 89 views
0

我正在关注一本Hadoop for Dummies。本书的指令修改文件的HBase-site.xml中的HBase的是这样的:无法在Centos上启动HBase。无法解析来自hbase.zookeeper.quorum的主机名bivm

<configuration> 
     <property> 
     <name>hbase.rootdir</name> 
     <value>file:///home/biadmin/my-local-hbase/hbase-data</value> 
     </property> 
     <property> 
     <name>hbase.cluster.distributed</name> 
     <value>true</value> 
     </property> 
     <property> 
     <name>hbase.zookeeper.property.clientPort</name> 
     <value>2222</value> 
     <description>Property from ZooKeeper's config zoo.cfg. 
     The port at which the clients will connect. 
     </description> 
     </property> 
     <property> 
     <name>hbase.zookeeper.property.dataDir</name> 
     <value>/home/biadmin/my-local-hbase/zookeeper</value> 
     </property> 
     <property> 
     <name>hbase.zookeeper.quorum</name> 
     <value>bivm</value> 
     </property> 
    </configuration> 

它说:

使用hbase.rootdir属性,可以指定在本地文件系统的目录存储HBase数据。在生产环境中,此属性将指向数据存储的HDFS。您还将hbase.cluster.distributed属性设置为true,这会导致HBase以伪分布式模式启动。如果您选择不将此属性设置为true,则HBase将在单个Java虚拟机(JVM)中运行所有必需的进程。但是,为了说明起见,伪分布式模式将导致HBase启动RegionServer实例,MasterServer实例和Zookeeper进程。另外,你需要指定hbase.zookeeper。 property.clientPort,Zookeeper将存储其数据的目录(hbase.zookeeper.property.dataDir)以及Zookeeper将运行以构成仲裁(hbase.zookeeper.quorum)的服务器列表。对于独立,您只指定单个Zookeeper服务器bivm。

当我开始HBase的,我得到这个错误:

Bivm: ssh: Could not resolve hostname bivm. 

任何人都可以请告知如何解决这个问题?谢谢!!!

回答

0

HBase依赖于名为Zookeeper的服务来管理其状态。默认情况下,HBase会为您管理Zookeeper服务(除非您更改HBASE_MANAGES_ZK变量),但您需要对其进行配置。其中一个选项直接在hbase-site.xml - 这就是hbase.zookeeper.*属性的用途。

由于Zookeeper可能作为分布式服务运行,因此hbase.zookeeper.quorum包含Zookeeper正在其上运行的主机的逗号分隔列表。我认为你只是在一台机器上运行,因此,你应该将其值设为localhost

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

此前已将其设置为bivm,这是不你的网络,你就存在一个主机名无法解决它。

我建议您在HBase documentationthis question处阅读有关该主题的更多信息。

+0

嗨米菲,谢谢你的回复。我把它改成了localhost而不是bivm。这一次错误消息说本地主机:ssh:连接到主机本地主机端口22:连接被拒绝。该文档也使用客户端端口2222,但它表示默认值是2181.我试图修改为2181,但仍然拒绝连接。 – Nipponho

+0

是的,'22'端口是一个有趣的线索。也许你应该发布更多的HBase日志来看看发生了什么。我想不出为什么HBase应该运行ssh。 – Mifeet

+0

嗨Mifeet,我可以看到5个应用程序日志文件:RegionServer,Thrit,Thrift2,Rest&,Master。你想看哪一个?我在这里复制并粘贴整个日志?这是相当多的。对不起,第一次问一个堆栈溢出的问题。 – Nipponho