2016-04-27 36 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