2014-09-24 102 views
1

嗨,我已經在我的機器上安裝了Ubuntu並安裝了hbase0.98-hadoop2。然後我編輯了hbase-env.sh文件和hbase-site.xml。現在我的hbase外殼工作正常。但是當我嘗試從使用hbase java api的Java代碼連接到hbase時。我收到錯誤。 我的代碼是:無法使用Java連接到Hbase

Configuration hc = HBaseConfiguration.create(); 


      HTableDescriptor ht = new HTableDescriptor("User"); 

      ht.addFamily(new HColumnDescriptor("Id")); 

      ht.addFamily(new HColumnDescriptor("Name")); 

      System.out.println("connecting"); 

      HBaseAdmin hba = new HBaseAdmin(hc); 
      System.out.println("Master running ? "+ hba.isMasterRunning()); 
      System.out.println("Creating Table"); 

      hba.createTable(ht); 

      System.out.println("Done......"); 

我的輸出是:

connecting 
Exception in thread "main" java.lang.NumberFormatException: For input string: "42529`;��7ec�PBUF 

jamil-37037�������) 
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
    at java.lang.Integer.parseInt(Integer.java:492) 
    at java.lang.Integer.parseInt(Integer.java:527) 
    at org.apache.hadoop.hbase.HServerAddress.<init>(HServerAddress.java:63) 
    at org.apache.hadoop.hbase.MasterAddressTracker.getMasterAddress(MasterAddressTracker.java:63) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:353) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:89) 
    at HBaseConnector.main(HBaseConnector.java:157) 

我的代碼是在HbaseAdmin產生問題。請幫忙嗎? 還記得我安裝了獨立的hbase,並沒有單獨安裝hadoop。這是一個包hbase0.98.6-hadoop2。

+1

看起來像zookeeper端口沒有得到正確的解析。它期望一個整數值,但獲取文本。 類路徑中的hbase-site.xml?如果是,它是否有hbase.zookeeper.quorum?您可以嘗試將hbase.zookeeper.quorum設置到您的HBaseConfiguration中。 – Venkat 2014-09-24 19:12:13

+0

如何在classpath中設置hbase-site.xml?而hbase.zookeeper.quorum在hbase-site.xml文件中未提及。我正在使用獨立的hbase。 – Mr37037 2014-09-24 19:16:59

回答

2

如果您使用的是maven,請參閱您的hbase設置是否使用確切的版本依賴關係。舉個例子,如果你的hbase假設hbase-0.x.x,你必須在項目中添加依賴hbase-0.x.x。同樣檢查所有其他依賴項,如hadoop,zookeeper。如果不是maven,那麼下載適當的jar並將它們添加到你的類路徑中。如果您不知道,請轉至應用程序的lib文件夾並查看罐子。

希望這會有所幫助。謝謝

+0

是啊!這很有效,非常感謝@7777我使用的是不同於我原來的hbase設置的jar。保存了我的一天。非常感謝 – Mr37037 2014-09-24 20:48:59