您好我已在我的机器上安装了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。
答案 0 :(得分:2)
如果您使用的是maven,请查看您的hbase设置是否使用了确切的版本化依赖项。例如,如果您的hbase假设为hbase-0.x.x,则必须在项目中添加依赖项hbase-0.x.x.同样检查所有其他依赖项,如hadoop,zookeeper。如果不是maven,则下载正确的jar并将它们添加到类路径中。如果您不知道,请转到您的应用程序的lib文件夹并查看罐子。
希望这会有所帮助。感谢