无法从 Java 连接在 Docker 中运行的独立 HBase

问题描述

我在 docker 中使用我自己的 hbase 映像并将其作为容器运行。

FROM ubuntu

copY /hbase /opt

RUN apt-get update && apt-get install -y openjdk-8-jdk

ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/

CMD ["cat","/opt/hbase-1.2.6/conf/hbase-site.xml"]

以上是我用过的docker文件

注意:将 hbase-site.xml 中的客户端端口更改为 2187 以用于 zookeeper 连接。

下面是用于运行容器的运行命令,

docker run -d -p 2187:2187 -p 16010:16010 -p 16000:16000 -p 16020:16020 -p 1603:16030  c49224a124a sleep infinity

现在,在容器内时,我可以使用 shell 访问 HBase,并且所有命令都可以正常工作。
当我尝试从 Java 程序连接到同一个 HBase 时,出现此错误

注意:使用 Zookeeper Quorum 作为 localhost:2187

client.RpcretryingCaller: Call exception during put docker hbase

此外,看起来zookeeper是通过localhost:2187连接的,并且通过提供/hbase节点运行良好。唯一的问题是程序无法连接到 HBase。

请帮忙。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)