gpt4 book ai didi

java - 如何使用 Java 连接到本地主机 HBase

转载 作者:行者123 更新时间:2023-11-30 11:39:48 25 4
gpt4 key购买 nike

当我以嵌入式方式启动 HBase 时,它​​运行良好。

我在 Ubuntu 12.04 上,我已经通过下载 tar.gz 并解压到 opt 目录安装了 hbase 0.90.5。

HBase 已正确启动,日志中没有崩溃也没有异常,因此 HBase 似乎已正确安装。 hbase-site.xml 非常简单:

<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost</value>
</property>

<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>

那么我的 etc/hosts 文件就更简单了:

127.0.0.1 localhost

127.0.0.1 alex-desktop

请注意,我已阅读有关从此文件中删除主机名的信息,但这样做只会在启动 hbase 时导致错误。所以我决定如图所示离开。

最后是我的 Java 代码:

Configuration config = HBaseConfiguration.create();
config.clear();
config.set("hbase.zookeeper.quorum", "localhost");
config.set("hbase.zookeeper.property.clientPort","2181");
config.set("hbase.master", "localhost:60000");

我在日志中得到异常:

2/10/25 21:41:59 INFO zookeeper.ClientCnxn: Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13a996f3e1d000b, negotiated timeout = 40000

12/10/25 21:41:59 INFO client.HConnectionManager$HConnectionImplementation: getMaster attempt 0 of 1 failed; no more retrying.
java.io.IOException: Call to localhost/127.0.0.1:60001 failed on local exception: java.io.EOFException at org.apache.hadoop.hbase.ipc.HBaseClient.wrapException(HBaseClient.java:954)
at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:923)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150)
at $Proxy6.getProtocolVersion(Unknown Source)
at org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:183)

请注意,端口 60001 会发生变化,有时是这个端口,但也可以是任何其他端口,例如 46666。

我也尝试过导出 export HBASE_MANAGES_ZK=true 但它没有帮助。我不知道接下来我能做什么,因为我不知道这个随机端口是什么。

谁知道这是怎么回事?

非常感谢您。

最佳答案

确保您在客户端代码中使用的 HBase 版本与集群中的版本相同。一般情况下,如果版本不匹配,会发生EOFException

关于java - 如何使用 Java 连接到本地主机 HBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com