ant*_*thr 1 ansible docker apache-zookeeper
我已经能够在独立模式下使用 Docker 部署 ZooKeeper,运行单个 ZooKeeper 容器,但我现在尝试使用 Ansible 部署三个容器化 ZooKeeper,并且似乎无法让系统以复制模式启动。
我正在使用受良好支持的Docker 版本的 ZooKeeper,并尝试按照文档的建议设置ZOO_MY_ID和ZOO_SERVERS,尽管在尝试部署容器时它们很快就会失败并出现错误Invalid config,并且似乎还没有设置myid复制所需的变量模式。
错误的形式如下,您还会看到其他一些服务器的地址无法解析(尽管我可以很好地通过 ssh 进入这些机器,并且 Ansible 成功部署到每台机器 - 只是容器被卡住了)陷入崩溃循环)。
从泊坞窗日志:
Using config: /conf/zoo.cfg
2019-08-22 07:07:22,188 [myid:] - INFO [main:QuorumPeerConfig@133] - Reading configuration from: /conf/zoo.cfg
2019-08-22 07:07:22,192 [myid:] - INFO [main:QuorumPeerConfig@375] - clientPort is not set
2019-08-22 07:07:22,192 [myid:] - INFO [main:QuorumPeerConfig@389] - secureClientPort is not set
2019-08-22 07:07:22,198 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Address unresolved: hostname3:3888"
at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.<init>(QuorumPeer.java:279)
at org.apache.zookeeper.server.quorum.flexible.QuorumMaj.<init>(QuorumMaj.java:89)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.createQuorumVerifier(QuorumPeerConfig.java:595)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseDynamicConfig(QuorumPeerConfig.java:628)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupQuorumPeerConfig(QuorumPeerConfig.java:601)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:420)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:150)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:113)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
Invalid config, exiting abnormally
Run Code Online (Sandbox Code Playgroud)
我很难理解为什么[myid:]盒子缺少我正在设置的变量,以及为什么无法解析另一个主机的地址。
我想知道它们是否都试图启动并连接其他服务器,但由于没有一个服务器正在运行,所以它们都失败了。不过,这感觉太荒谬了,不可能成为问题,所以我假设我在某个地方的配置中犯了错误。
我尝试了下面的各种版本的 Ansible 部署(我只展示了三个版本之一,但它们都遵循相同的模式),尝试了其他 ZooKeeper 主机的完全限定名称或公共 IP 等内容,0.0.0.0以及zookeeper对于本地主机,以及许多不同的事情 - 都没有成功。
- name: Deploy ZooKeeper1
hosts: zk1
...
tasks:
- docker_service:
project_name: zk
definition:
version: '3'
services:
zookeeper:
image: zookeeper:latest
hostname: "zookeeper"
environment:
- ALLOW_ANONYMOUS_LOGIN="yes"
- ZOO_MY_ID=1
- ZOO_SERVERS="server.1=zookeeper:2888:3888 server.2=hostname2:2888:3888 server.3=hostname3:2888:3888"
restart: always
ports:
- "2181:2181" # port for clients, including Kafka
- "2888:2888" # port for ZooKeeper to connect to other ZooKeeper peers to coordinate
- "3888:3888" # port for leader election
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |