2014-09-01 154 views
2

我已經安裝了新的Hortonworks沙箱。我試圖使用Java客戶端API連接Hbase。這是我迄今試過的代碼。但沒有成功。我沒有更改Wortonworks沙箱上的任何配置。我是否需要在Hbase中執行任何配置部分?如何使用Java客戶端API連接到Hortonworks沙箱Hbase

 Configuration configuration = HBaseConfiguration.create(); 
     configuration.set("hbase.zookeeper.property.clientPort", "2181"); 
     configuration.set("hbase.zookeeper.quorum", "127.0.0.1"); 
     configuration.set("hbase.master", "127.0.0.1:600000"); 

     HBaseAdmin hBaseAdmin = new HBaseAdmin(configuration); 
+0

默認'hbase.master.port'端口是60000,你似乎是使用600000.你可以檢查端口是否匹配? – CodeRain 2015-01-02 07:11:26

回答

0

這也發生在我身上。以下是我如何解決它,更多詳細信息here

我通過編輯VirtualBox的網絡設置來完成此操作。因此,不需要修改Hortonworks沙箱虛擬機中的任何配置文件,例如/etc/hosts文件或zoo.cfg文件。

在VirtualBox中,對於Hortonworks沙盒VM:

  1. 停止虛擬機,如果它的運行

  2. 進入設置 - >網絡,禁用所有當前的網絡適配器。

  3. 創建一個新的適配器,選擇Host-only Adapter,使用默認設置並應用它。 (192.168.56.101是虛擬機的主機專用適配器的IP,當我啓用了兩個適配器時發現它:NAT和主機專用, ssh進入虛擬機並運行ifconfig。對於相同版本的虛擬機似乎是相同的),通過命令行啓動hbase。

  4. 在本機的主機,添加

192.168.56.101 hortonworks.hbase.vm 192.168.56.101 sandbox.hortonworks.com

Java代碼的我用

Configuration configuration = HBaseConfiguration.create(); 
configuration.set("hbase.zookeeper.property.clientPort", "2181"); 
configuration.set("hbase.zookeeper.quorum", "hortonworks.hbase.vm"); 
configuration.set("zookeeper.znode.parent", "/hbase-unsecure");