首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法使用Ansible和Docker启动复制的ZooKeeper

无法使用Ansible和Docker启动复制的ZooKeeper
EN

Stack Overflow用户
提问于 2019-08-22 07:36:39
回答 1查看 714关注 0票数 1

我已经能够在独立模式下使用Docker部署ZooKeeper,运行单个ZooKeeper容器,但我现在正在尝试使用Ansible部署三个容器化的ZooKeepers,并且似乎无法让系统以复制模式启动。

我使用的是ZooKeeper的well supported Docker版本,并尝试按照文档的建议设置ZOO_MY_IDZOO_SERVERS,尽管在尝试部署容器时,它们很快就会失败并出现Invalid config错误,而且似乎还没有设置复制模式所需的myid变量。

错误的形式如下,您还会看到一些其他服务器的地址无法解析(尽管我可以很好地通过ssh进入这些机器,Ansible成功地部署到每台机器上--它只是容器陷入了崩溃循环)。

从docker日志中:

代码语言:javascript
运行
AI代码解释
复制
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

我很难理解为什么[myid:]框缺少我设置的变量,以及为什么无法解析另一台主机的地址。

我想知道它们是否都试图启动并连接到其他服务器,但考虑到没有一个在运行,它们都失败了。这感觉太荒谬了,不会成为问题,所以我假设我在配置中犯了一个错误。

我已经尝试了下面的Ansible部署的不同版本(我只展示了三个版本中的一个,但它们都遵循相同的模式),尝试了其他ZooKeeper主机的完全限定名称或公共I,本地主机的0.0.0.0zookeeper,以及许多不同的东西-都没有成功。

代码语言:javascript
运行
AI代码解释
复制
- 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
EN

回答 1

Stack Overflow用户

发布于 2020-11-19 13:38:45

注意配置文件中的任何空格或其他不可见的字符,例如: 3888后的空格

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57604271

复制
相关文章
如何在Linux中使用管道将命令的输出传递给其他命令?
在Linux中,管道使用竖线符号 | 表示,它位于两个命令之间。管道的基本语法如下:
网络技术联盟站
2023/09/06
1.5K0
如何在Linux中使用管道将命令的输出传递给其他命令?
如何将多个参数传递给 React 中的 onChange?
在 React 中,一些 HTML 元素,比如 input 和 textarea,具有 onChange 事件。onChange 事件是一个非常有用、非常常见的事件,用于捕获输入框中的文本变化。有时候,我们需要将多个参数同时传递给 onChange 事件处理函数,在本文中,我们将介绍如何实现这一目标。
网络技术联盟站
2023/06/07
3K0
如何在Linux中使用管道将命令的输出传递给其他命令?
在Linux系统中,管道(Pipeline)是一种强大的工具,它允许将一个命令的输出作为另一个命令的输入。通过管道,我们可以将多个命令串联在一起,实现数据的流动和处理。本文将详细介绍如何在Linux中使用管道将命令的输出传递给其他命令,并提供一些常见的使用示例。
网络技术联盟站
2023/06/14
1.5K0
如何在Linux中使用管道将命令的输出传递给其他命令?
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.4K0
Laravel实现redis发布-订阅
如果说我们需要一个比较简单的这种机制,我们可以采用redis这个轻量级的订阅机制,我们可以参考redis的 Publish/Subscribe 机制,得到比较好的问题解决方案 当然,如果是项目比较复杂,可以考虑使用Kafka, RabbitMQ之类的消息队列组件
憧憬博客
2020/07/20
1.3K0
react event事件订阅传值
event(事件订阅)是react新增的通信方式。它类似webSorcket和postMessage的通信方式,一边发送传值,另一边监听接收. 适合兄弟组件传值
心念
2023/01/11
5250
iframe怎么将参数传递给vue 父组件
在子页面的iframe中想将参数传递给Vue父组件,可以使用postMessage()方法将数据发送给父窗口。父组件可以通过监听message事件来接收并处理这些数据。
王小婷
2023/08/10
1.5K0
将多个属性传递给 Vue 组件的几种方式
所有使用基于组件的体系结构(如Vue和React)的开发人员都知道,创建可重用组件是很困难的,而且大多数情况下,最终会通过传入大量的属性,以便从外部更容易地控制和自定义组件。这并不坏,但是传递大量属性确实会变得有点麻烦和丑陋。
前端小智@大迁世界
2020/05/11
2K0
python接口测试:如何将A接口的返回值传递给B接口
一种方式是可以通过数据库来获取,但是通过这次接口测试,我发现读取数据库有一个缺点:速度慢
冰霜
2022/03/15
2.1K0
React篇(029)-如何将参数传递给事件处理程序或回调函数?
你可以使用箭头函数来包装事件处理器并传递参数: <button onClick={() => this.handleClick(id)} /> 这相当于调用 .bind: <button onClick={this.handleClick.bind(this, id)} />
齐丶先丶森
2022/05/12
3.9K0
Laravel如何优雅的使用Swoole
正在做一个智能家居的项目,接收下位机(就是控制智能家居硬件模块的HUB)协议解析,Web端维护硬件状态,利用APP交互。由于下位机数据是发送到服务器的XXX端口,所以必须对XXX端口进行监听。其实和聊天室的概念差不多,研究了一下workerman、swoole和其他几个开源的项目,决定采用swoole。
OwenZhang
2021/12/08
1.6K0
网络数据是如何传递给进程的
在用户态空间,调用发送数据接口 send/sento/wirte 等写数据包,在内核空间会根据不同的协议走不同的流程。以TCP为例,TCP是一种流协议,内核只是将数据包追加到套接字的发送队列中,真正发送数据的时刻,则是由TCP协议来控制的。TCP协议处理完成之后会交给IP协议继续处理,最后会调用网卡的发送函数,将数据包发送到网卡。
luoxn28
2020/05/18
1.6K0
程序员如何使用RSS订阅网站更新
很多国内程序员可能都有这种疑惑,去哪里看技术圈最新的消息?怎么知道厂都在用什么技术?做什么?怎么知道圈内最新的paper?怎么跟踪国内外技术大佬的博客?
伍六七AI编程
2021/05/17
2.2K0
微信下线模板消息,订阅通知如何使用?
指用户订阅一次,服务号可长期多次下发通知,长期订阅通知仅向政务民生、医疗等公共服务领域开放;
冷冷
2021/02/04
3.4K0
如何用RSS订阅?
我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式。
机智的程序员小熊
2019/01/12
4.9K0
如何用RSS订阅?
如何使用markdown书写微信订阅号素材?
我们知道,运营微信订阅号难免与编辑器打交道,而微信自带的编辑器,又有诸多的限制,如果一个人,一天,发一篇文章,花费在编辑格式,美化页面上的时间,就太可惜了。
程序员小助手
2020/04/08
1.7K0
laravel 中如何使用ajax和vue总结
最近写一个项目是基于laravel框架的,这个框架传言是为艺术而创作的优雅框架,简洁分明的风格,很吸引我,所以最近研究比较多。本次就是基于该框架然后将Vue插件加入实现一定的功能,vue插件本身强大,具体不说了,有兴趣的同学可以去官网
用户8449980
2021/07/13
2K0
如何正确使用 Composer 安装 Laravel 扩展包
正确使用 Composer 安装 Laravel 扩展包: 简单解释composer install如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
全栈程序员站长
2022/07/08
1.7K0
点击加载更多

相似问题

Laravel Cashier -使用条带id取消订阅

51

使用Laravel Cashier & Stripe开始无卡订阅

21

Laravel Cashier -单个用户的多个订阅

15

使用Laravel & cashier直接从Stripe检查stripe订阅状态

21

如何使用Laravel Cashier获取订阅今天到期的所有用户

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档