无法使用Java连接到Hbase

时间:2014-09-24 14:32:39

标签: java hadoop hbase

您好我已在我的机器上安装了ubuntu并安装了hbase0.98-hadoop2。然后我编辑了hbase-env.sh文件和hbase-site.xml。现在我的hbase shell工作正常。但是当我尝试使用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)

我的代码在HbaseAdmin上造成了问题。有什么帮助吗? 记得我安装了独立的hbase并没有单独安装hadoop。它是相同的包hbase0.98.6-hadoop2。

1 个答案:

答案 0 :(得分:2)

如果您使用的是maven,请查看您的hbase设置是否使用了确切的版本化依赖项。例如,如果您的hbase假设为hbase-0.x.x,则必须在项目中添加依赖项hbase-0.x.x.同样检查所有其他依赖项,如hadoop,zookeeper。如果不是maven,则下载正确的jar并将它们添加到类路径中。如果您不知道,请转到您的应用程序的lib文件夹并查看罐子。

希望这会有所帮助。感谢