【问题标题】:Unable to Connect to Hbase using Java无法使用 Java 连接到 Hbase
【发布时间】:2014-09-25 04:47:21
【问题描述】:

您好,我已经在我的机器上安装了 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。

【问题讨论】:

  • 看起来 zookeeper 端口没有得到正确解析。它需要一个整数值但获取文本。 hbase-site.xml 在类路径中吗?如果是,它有 hbase.zookeeper.quorum 吗?您可以尝试将 hbase.zookeeper.quorum 设置为您的 HBaseConfiguration。
  • 如何在类路径中设置 hbase-site.xml? hbase-site.xml 文件中没有提到 hbase.zookeeper.quorum。我正在使用独立的 hbase。

标签: java hadoop hbase


【解决方案1】:

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

希望这会有所帮助。谢谢

【讨论】:

  • 是的!!!!这行得通,非常感谢@Mr.777,我使用的 jar 与我原来的 hbase 设置不同。拯救了我的一天。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-12
  • 1970-01-01
相关资源
最近更新 更多