无法使用Java连接到Hbase

无法使用Java连接到Hbase,java,hadoop,hbase,Java,Hadoop,Hbase,嗨,我已经在我的机器上安装了ubuntu,并安装了hbase0.98-hadoop2。然后我编辑了hbase-env.sh文件和hbase-site.xml。现在我的hbase外壳工作正常。但当我尝试使用hbase Java api从Java代码连接到hbase时。我会犯错误。 我的代码是: Configuration hc = HBaseConfiguration.create(); HTableDescriptor ht = new HTableDescriptor(

嗨,我已经在我的机器上安装了ubuntu,并安装了hbase0.98-hadoop2。然后我编辑了hbase-env.sh文件和hbase-site.xml。现在我的hbase外壳工作正常。但当我尝试使用hbase Java api从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)
连接
线程“main”java.lang.NumberFormatException中的异常:对于输入字符串:“42529”;��7ec�PBUF
jamil-37037�������)
位于java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
位于java.lang.Integer.parseInt(Integer.java:492)
在java.lang.Integer.parseInt(Integer.java:527)处
位于org.apache.hadoop.hbase.HServerAddress。(HServerAddress.java:63)
位于org.apache.hadoop.hbase.MasterAddressTracker.getMasterAddress(MasterAddressTracker.java:63)
位于org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:353)
位于org.apache.hadoop.hbase.client.HBaseAdmin.(HBaseAdmin.java:89)
位于HBaseConnector.main(HBaseConnector.java:157)
我的代码在HbaseAdmin出现问题。请提供帮助?
请记住,我安装了独立的hbase,但没有单独安装hadoop。它是同一个包hbase0.98.6-hadoop2。

如果您使用的是maven,请查看您使用的版本依赖项是否与您的hbase设置相同。例如,如果您的hbase假设为hbase-0.x.x,则必须在项目中添加依赖项hbase-0.x.x。Simi请检查所有其他依赖项,如hadoop、zookeeper等。如果不是maven,请下载适当的JAR并将其添加到类路径。如果不知道,请转到应用程序的lib文件夹并查看JAR


希望这能有所帮助。谢谢

zookeeper端口的解析似乎不正确。它需要一个整数值,但需要文本。hbase-site.xml是否在类路径中?如果是,它是否有hbase.zookeeper.quorum?您可以尝试将hbase.zookeeper.quorum设置到您的HBaseConfiguration中。如何在类路径中设置hbase-site.xml?以及hbase。hbase-site.xml文件中没有提到zookeeper.quorum。我使用的是独立的hbase。是的!!!!很好,谢谢@Mr.777我使用的JAR与原来的hbase设置不同。节省了我的时间。非常感谢