zoukankan      html  css  js  c++  java
  • Docker搭建Zookeeper集群问题总结

    使用docker-compose搭建zk集群遇到的一些问题及解决方案

    services:
      zoo1:
        image: zookeeper
        restart: always
        hostname: zoo1
        container_name: zookeeper_1
        #domainname: 
        ports:
          - 2181:2181
        volumes:
          - /home/data/test/docker:/data
        environment:
          ZOO_MY_ID: 1
          ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    
      zoo2:
        image: zookeeper
        restart: always
        hostname: zoo2
        container_name: zookeeper_2
        ports:
          - 2182:2181
        volumes:
          - /home/data/test/docker:/data
        environment:
          ZOO_MY_ID: 2
          ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    
      zoo3:
        image: zookeeper
        restart: always
        hostname: zoo3
        container_name: zookeeper_3
        ports:
          - 2183:2181
        volumes:
          - /home/data/test/docker:/data
        environment:
          ZOO_MY_ID: 3
          ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
    Docker-compose.yml

    这是从网上随便找了一个集群搭建的命令,执行 docker-compose -f Docker-compose.yml up -d  报错

     1 leader:1, n.round:0x1, n.peerEpoch:0x0, n.zxid:0x0, message format version:0x2, n.config version:0x0
     2 zookeeper_1 | 2021-11-03 03:15:19,264 [myid:1] - WARN  [QuorumConnectionThread-[myid=1]-1:QuorumCnxManager@401] - Cannot open channel to 2 at election address zoo2/172.19.0.4:3888
     3 zookeeper_1 | java.net.ConnectException: Connection refused (Connection refused)
     4 zookeeper_1 |     at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
     5 zookeeper_1 |     at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
     6 zookeeper_1 |     at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
     7 zookeeper_1 |     at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)
     8 zookeeper_1 |     at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
     9 zookeeper_1 |     at java.base/java.net.Socket.connect(Unknown Source)
    10 zookeeper_1 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:384)
    11 zookeeper_1 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:458)
    12 zookeeper_1 |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    13 zookeeper_1 |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    14 zookeeper_1 |     at java.base/java.lang.Thread.run(Unknown Source)
    15 zookeeper_1 | 2021-11-03 03:15:19,264 [myid:1] - WARN  [QuorumConnectionThread-[myid=1]-2:QuorumCnxManager@401] - Cannot open channel to 3 at election address zoo3/172.19.0.3:3888
    16 zookeeper_1 | java.net.ConnectException: Connection refused (Connection refused)
    17 zookeeper_1 |     at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
    18 zookeeper_1 |     at java.base/java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    19 zookeeper_1 |     at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    20 zookeeper_1 |     at java.base/java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    21 zookeeper_1 |     at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
    22 zookeeper_1 |     at java.base/java.net.Socket.connect(Unknown Source)
    23 zookeeper_1 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager.initiateConnection(QuorumCnxManager.java:384)
    24 zookeeper_1 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$QuorumConnectionReqThread.run(QuorumCnxManager.java:458)
    25 zookeeper_1 |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    26 zookeeper_1 |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    27 zookeeper_1 |     at java.base/java.lang.Thread.run(Unknown Source)
    28 zookeeper_3 | 2021-11-03 03:15:19,373 [myid:1] - ERROR [ListenerHandler-zoo1/172.19.0.2:3888:QuorumCnxManager$Listener$ListenerHandler@1094] - Exception while listening
    29 zookeeper_3 | java.net.BindException: Cannot assign requested address (Bind failed)
    30 zookeeper_3 |     at java.base/java.net.PlainSocketImpl.socketBind(Native Method)
    31 zookeeper_3 |     at java.base/java.net.AbstractPlainSocketImpl.bind(Unknown Source)
    32 zookeeper_3 |     at java.base/java.net.ServerSocket.bind(Unknown Source)
    33 zookeeper_3 |     at java.base/java.net.ServerSocket.bind(Unknown Source)
    34 zookeeper_3 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener$ListenerHandler.createNewServerSocket(QuorumCnxManager.java:1136)
    35 zookeeper_3 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener$ListenerHandler.acceptConnections(QuorumCnxManager.java:1065)
    36 zookeeper_3 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener$ListenerHandler.run(QuorumCnxManager.java:1034)
    37 zookeeper_3 |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    38 zookeeper_3 |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    39 zookeeper_3 |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    40 zookeeper_3 |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    41 zookeeper_3 |     at java.base/java.lang.Thread.run(Unknown Source)
    42 zookeeper_2 | 2021-11-03 03:15:19,382 [myid:1] - ERROR [ListenerHandler-zoo1/172.19.0.2:3888:QuorumCnxManager$Listener$ListenerHandler@1094] - Exception while listening
    43 zookeeper_2 | java.net.BindException: Cannot assign requested address (Bind failed)
    44 zookeeper_2 |     at java.base/java.net.PlainSocketImpl.socketBind(Native Method)
    45 zookeeper_2 |     at java.base/java.net.AbstractPlainSocketImpl.bind(Unknown Source)
    46 zookeeper_2 |     at java.base/java.net.ServerSocket.bind(Unknown Source)
    47 zookeeper_2 |     at java.base/java.net.ServerSocket.bind(Unknown Source)
    48 zookeeper_2 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener$ListenerHandler.createNewServerSocket(QuorumCnxManager.java:1136)
    49 zookeeper_2 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener$ListenerHandler.acceptConnections(QuorumCnxManager.java:1065)
    50 zookeeper_2 |     at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener$ListenerHandler.run(QuorumCnxManager.java:1034)
    51 zookeeper_2 |     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    52 zookeeper_2 |     at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    53 zookeeper_2 |     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    54 zookeeper_2 |     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    55 zookeeper_2 |     at java.base/java.lang.Thread.run(Unknown Source)
    错误详情

    错误原因,直接看报错好像是hostname解析不到,ip

    BindException: Cannot assign requested address (Bind failed)

    于是乎我就直接将hostname去掉,环境变量配置成172.17.0.2 ~ 172.17.0.4启动还是不好使。

    错误原因:volume配置问题。

    将volume去掉,或者配置成  ./log/txt.log:/txt.lg就可以了。

    =================================================

    其实我的计划是将本地当前挂载到docker上容器中去,但目前我只找到了将本地文件copy过去的方法。后续试下利用cmd先在容器中创建目录,然后在挂载目录能不能好使,我怀疑是/data目录不能默认帮我创建

  • 相关阅读:
    [ScreenOS] How to change the certificate that is used for SSL (HTTPS) WebUI Management
    [ScreenOS] How to manually generate a new system self-signed certificate to replace the expired system self-signed certificate without resetting the firewall
    ELK日志分析之安装
    用ElasticSearch存储日志
    Elasticsearch5安装以及部署Head插件
    Elasticsearch+Hbase实现海量数据秒回查询
    展示消息提醒信息,2019年1月1日 09:52:54
    cvc-complex-type.2.3: Element 'dependency' cannot have character [children], because the type's cont
    layui 上传图片回显并点击放大实现
    layui table 行按钮事件,启用禁用切换
  • 原文地址:https://www.cnblogs.com/wangxiangstudy/p/15502802.html
Copyright © 2011-2022 走看看