无法使用Java连接到Hbase [英] Unable to Connect to Hbase using Java

查看:209
本文介绍了无法使用Java连接到Hbase的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我已经在我的机器上安装了Ubuntu并安装了hbase0.98-hadoop2。然后我编辑了hbase-env.sh文件和hbase-site.xml。现在我的hbase外壳工作正常。但是当我尝试从使用hbase java api的Java代码连接到hbase时。我收到错误。
我的代码是:

 配置hc = HBaseConfiguration.create(); 


HTableDescriptor ht = new HTableDescriptor(User);

ht.addFamily(新的HColumnDescriptor(Id));

ht.addFamily(new HColumnDescriptor(Name));

System.out.println(连接);

HBaseAdmin hba = new HBaseAdmin(hc);
System.out.println(Master running?+ hba.isMasterRunning());
System.out.println(创建表);

hba.createTable(ht);

System.out.println(完成......);

我的输出是:

 连接
线程main中的异常java.lang.NumberFormatException:用于输入字符串:42529; 7ec PBUF

jamil-37037 )
在java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)$ b $在java.lang.Integer.parseInt(Integer.java:492)
在java .lang.Integer.parseInt(Integer.java:527)
位于org.apache.hadoop.hbase.HServerAddress。< init>(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。< init>(HBaseAdmin.java:89)
at HBaseConnector.main(HBaseConnector.java:157)

我的代码在HbaseAdmin创建问题,请帮忙吗?
记得我安装了独立的hbase,并没有单独安装hadoop。这是一个包hbase0.98.6-hadoop2。 如果您使用的是maven,请查看您的hbase设置是否使用了精确的版本依赖关系。举个例子,如果你的hbase假设hbase-0.x.x,你必须在项目中添加依赖hbase-0.x.x。同样检查所有其他依赖项,如hadoop,zookeeper。如果不是maven,那么下载适当的jar并将它们添加到你的类路径中。如果你不知道,去你的应用程序的lib文件夹,看到罐子。



希望这有助于。谢谢

Hi i have installed ubuntu on my machine and installed hbase0.98-hadoop2. Then i edited hbase-env.sh file and hbase-site.xml. Now my hbase shell is working fine. But when i try to connect to hbase from Java code using hbase java api's. I get errors. My Code is:

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......");

My output is:

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)

My Code is creating problem at HbaseAdmin. Any help please? Remember i installed standalone hbase and did not installed hadoop separately. It was the same package hbase0.98.6-hadoop2.

解决方案

If you are using maven, please see if you are using the exact versioned dependencies as your hbase setup is. Foexample, if your hbase is suppose hbase-0.x.x you must add the dependency hbase-0.x.x in your project. Similarly check all other dependencies like hadoop, zookeeper as well. If not maven then download the proper jars and add them to your classpath. If you are unaware, go to the lib folder of your application and see the jars.

Hope this helps. Thanks

这篇关于无法使用Java连接到Hbase的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆