当前位置: 首页 > 知识库问答 >
问题:

HBase Zookeeper连接错误

阎俊英
2023-03-14

我在docker容器中运行Hbase。当它使用docker compose文件启动时,我看到以下错误:

WARN[NIOServerCxn. Factory:0.0.0.0/0.0.0.0: 2181]server. NIOServerCnxn:捕获流结束异常

EndOfStreamException:无法从客户端会话ID 0x16205128eac02db读取其他数据,客户端可能已关闭套接字

在org。阿帕奇。动物园管理员。服务器NIOServerCnxn。doIO(NIOServerCnxn.java:228)

在org。阿帕奇。动物园管理员。服务器NIOServerCNXN工厂。运行(NIOServerCnxnFactory.java:208)

在爪哇。朗。丝线。运行(Thread.java:748)2018-03-08 12:59:45737信息[NIOServerCxn.Factory:0.0.0/0.0.0:2181]服务器。NIOServerCnxn:客户端/172.18.0.2:45372的封闭套接字连接,其会话ID为0x16205128eac02db

我也看到了以下,当我运行一个映射减少从Hbase获取数据:

Disconnecting client for session: 0x16205128eac00dc org.apache.zookeeper.ClientCnxn.disconnect(ClientCnxn.java:1290) 
An exception was thrown while closing send thread for session 0x16205128eac00dc : Unable to read additional data from server sessionid 0x16205128eac00dc, likely server has closed socket org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1086)

我有办法解决这个问题吗?我的动物园。cfg文件如下所示:

clientPort=2181
clientPortAddress=hbase-docker
server.1=hbase-docker:2181
maxClientCnxns=200

Docker compose文件如下所示:

hbase-docker:
  hostname: "hbase-docker"
  container_name: "hbase-docker"
  build:
    dockerfile: "Dockerfile-5.6"
    context: "./hbase-docker/"
  volumes:
  - "./hbase-docker/data:/data"
  ports:
  - "2181:2181"

在docker容器中的HBase版本是:1.2.4

动物园管理员版本:3.4.6-1569965

Docker版本: 17.12.1-ce, build 7390fc6

Docker Compose版本:1.16.1,构建6d1ac21

操作系统版本:Ubuntu 16.04.4 LTS(xenial)

Dockerfile看起来像这样:

# HBase in Docker
#
# Version 0.3

# http://docs.docker.io/en/latest/use/builder/

FROM ubuntu:xenial

COPY *.sh /build/

ENV HBASE_VERSION 1.2.4

RUN mkdir -p /var/zookeeper && \
    /build/prepare-hbase.sh && \
    cd /opt/hbase && /build/build-hbase.sh \
    cd / && /build/cleanup-hbase.sh 

VOLUME /data

ADD ./hbase-site.xml /opt/hbase/conf/hbase-site.xml

ADD ./zoo.cfg /opt/hbase/conf/zoo.cfg

ADD ./replace-hostname /opt/replace-hostname

ADD ./hbase-server /opt/hbase-server

# REST API
EXPOSE 8080
# REST Web UI at :8085/rest.jsp
EXPOSE 8085
# Thrift API
EXPOSE 9090
# Thrift Web UI at :9095/thrift.jsp
EXPOSE 9095
# HBase's Embedded zookeeper cluster
EXPOSE 2181
# HBase Master web UI at :16010/master-status;  ZK at :16010/zk.jsp
EXPOSE 16010

CMD ["/opt/hbase-server"]

共有1个答案

颜欣怡
2023-03-14

看起来你在zoo.cfg文件中缺少dataDir。

dataDir=/path/to/zookeeper/data

确保指定的目录已经存在,或者需要添加Dockerfile来创建此目录,然后用不同的名称重建映像。

 类似资料:
  • 我从W3Schools复制了它,当我尝试运行它时,它会给我一个错误。我是MySQL的新手,所以我正在尝试解决这个问题,但我不知道如何解决。 错误: 警告:mysqli::mysqli():(HY000/1045):用户'用户名'@'localhost'(使用密码:是)在第10行的C:\xampp\htdocs\Informatic a\test.php访问被拒绝连接失败:用户'用户名'访问被拒绝'

  • 我尝试使用HikariCP和mariaDB数据库,但是当我尝试初始化的时候,我得到了下一个错误。 由以下原因引起:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 我的MariaDBDatabase类: 我的数据库类: 我的家伙.xml

  • 问题内容: 如果我在外壳中运行: 它可以正常工作,并允许我连接到数据库并提取信息。但是,如果我在python应用程序(Flask)中,并运行以下命令: 它给了我一个: 我很确定它在进入insert_one()调用之前会失败,但是我不确定。 谢谢! 编辑:通过请求,这是完整的回调: pymongo.errors.OperationFailure:身份验证失败。 问题答案: 我想到了。你可以从pyth

  • 我使用nodejs和mqlight来运行https://www.npmjs.com/package/mqlight提供的示例代码。 我使用的是NodeJS5.5.0和npm版本是3.3.12。 我使用 null 当我运行上面的代码时,我得到了下面的错误。 请帮助解决这个问题。我使用的是Windows 7 64位操作系统。

  • 我尝试在mac中连接MongoDB时收到以下错误消息 MongoDB shell v3.4.9连接到:MongoDB://127.0.0.1:27017 2017-11-27T12:27:26.105+0530 W网络[thread1]连接到127.0.0.1:27017失败,in(轮询后检查套接字是否出错),原因:连接拒绝2017-11-27T12:27:26.141+0530 E查询[thre

  • 消息:通信链路失败上次成功发送到服务器的数据包是0毫秒前。驱动程序没有从服务器接收到任何数据包。SQLState:08S01错误代码:0 我不明白为什么!:(