动物园管理员合奏没有出现

2023-11-30

我正在尝试配置 3 个节点的集合文档。它们都在 Linux Ubuntu 上。 在所有三个节点上,配置文件如下所示:

$ZOOKEEPER_HOME/conf 下的zoo.cfg

tickTime=2000
dataDir=/home/zkuser/zookeeper_data
clientPort=2181
initLimit=5
syncLimit=2
server.1=ip.of.zk1:2888:3888
server.2=ip.of.zk2:2888:3888
server.3=ip.of.zk3:2888:3888

我还分别放置了“myid”下的文件/home/zkuser/zookeeper_data/目录。 该 myid 文件包含位于节点 (ip.of.zk1) 上的 1,依此类推。

当我使用 bin/zkServer.sh start 启动 zk 服务器时,控制台上没有显示任何异常。 但是,当我打开 bin 目录下的 Zookeeper.out 文件时,我看到以下错误。

2014-11-04 00:23:49,120 [myid:3] - WARN  [WorkerSender[myid=3]:QuorumCnxManager@382] - Cannot open channel to 1 at election address /ip.of.zk1:3888
java.net.NoRouteToHostException: No route to host
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
    at java.net.Socket.connect(Socket.java:546)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
    at java.lang.Thread.run(Thread.java:701)
2014-11-04 00:23:49,123 [myid:3] - WARN  [WorkerSender[myid=3]:QuorumCnxManager@382] - Cannot open channel to 2 at election address /ip.of.zk2:3888
java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
    at java.net.Socket.connect(Socket.java:546)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
    at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
    at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
    at java.lang.Thread.run(Thread.java:701)

Note:我已经在每台机器上使用 iptables 打开了适当的端口。 例如 : 链输入(策略接受)

target     prot opt source               destination         
ACCEPT     all  --  IP.of.ZK1       anywhere            
ACCEPT     all  --  IP.of.ZK2       anywhere            
ACCEPT     all  --  IP.of.ZK3       anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

谁能告诉我我错过了什么?

问候, 乙脑


我有类似的问题。我得到了一些关于问题可能出在哪里的提示here and here。就我而言,命令的输出netstat -plutn正在展示一些东西,包括127.0.0.1:3888对于选举端口 3888。我通过更改服务器 n 上的部分zoo.cfg 解决了这个问题,例如

server.1=name.of.s1:2888.3888
...
server.n=localhost:2888:3888
...

to

server.1=name.of.s1:2888.3888
...
server.n=0.0.0.0:2888:3888
...

ZooKeeper 重新启动后,输出netstat -plutn包括:::3888.

显然,ZooKeeper 需要这样做才能正确公开选举端口,在本例中为 3888。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动物园管理员合奏没有出现 的相关文章

随机推荐

  • Sparkr 将 DF 写入文件 csv/txt

    你好 我正在纱线模式下开发 SparkR 我需要将 Sparkr df 写入 csv txt 文件 我看到有write df但它会写入镶木地板文件 我尝试做这些事情 RdataFrame lt collect SparkRDF write
  • CircleCI 中的 Terraform 销毁失败

    我目前使用 CircleCI 作为我的 CI 工具来使用 Terraform 构建 AWS 基础设施 我的流程是 使用 Terraform 创建 AWS 实例 安装 Docker 并在其上运行 Nginx 镜像 破坏基础设施 我的 Circ
  • '' 的错误冲突类型是什么意思?

    我收到一条错误消息 错误 的类型冲突 这是什么意思 快速解决 确保您的函数在调用之前声明一次且仅声明一次 例如 更改 main myfun 3 4 double myfun double x return x To double myfun
  • 使用 netcat 和 grep 有条件地运行命令

    我需要 netcat 来侦听传入的 HTTP 请求 并且根据请求 我需要运行一个脚本 到目前为止我有这个 netcat lk 12345 grep Keep Alive 因此 每次 netcat 收到包含 keep alive 的包时 我都
  • 在 Delphi XE5/Android 平台上播放声音警报/蜂鸣声

    有没有办法在Delphi XE5 Android平台上播放声音警报 蜂鸣声 我想要实现的是如何使用 Beep 功能像 Windows 应用程序一样播放系统警报 蜂鸣声 或者至少找到系统音频文件的路径 以便我可以根据事件运行特定的音频文件 我
  • Kafka Connect-在写入接收器之前修改记录

    我已经使用 confluence 4 0 0 安装了 Kafka connect 使用 hdfs 连接器 我可以将从 Kafka 主题收到的 Avro 记录保存到配置单元 我想知道在写入hdfs接收器之前是否有任何方法可以修改记录 我的要求
  • 如何从 Javascript 提示框获取值并将其传递到 PHP 变量以便能够保存在 SQL 中?

    这是我的问题 我希望我的脚本能够做到这一点 在用户拒绝条目 服务器端 之前 系统必须提示文本框询问拒绝的原因 然后将他们输入的原因保存到MySQL服务器 JavaScript 函数 function MyReason var reason
  • C++ 哈希弃用警告

    我对 C 和一般编程非常陌生 目前正在阅读 Bjarne Stroustrup 的编程 使用 C 的原理和实践 我一直收到以下错误 严重性代码 说明 项目文件行错误 C2338 是 已弃用并将被删除 请使用 你可以 定义 SILENCE S
  • PHP日期格式 /Date(1365004652303-0500)/

    我正在从获取日期的地方调用 API Date 1365004652303 0500 我不明白这是什么格式 这种日期格式怎么称呼 我不知道该用谷歌搜索什么来找到这种类型的格式 谁能帮我输入这个日期Y m d H i s format 我调用的
  • CalendarView android 中的小数字

    我的应用程序需要 CalendarView 但天数很少 如何让它们变大 如果有人仍然感兴趣 这是我的解决方案 基于 Phil 的帖子中提供的信息和 XSJoJo 的报告 正如那里提到的 问题的存在是因为mDateTextSize没有分配给m
  • jquery - 读取文本文件?

    我有一个 html 文件 我想打开并读取它 但我不完全确定如何做到这一点 基本上 它是一个相当大的文件 big html 并且在一个单独的文件中 Titles html 我有一些 jquery 代码 我想用它们来查找某些元素 即 h2 标签
  • Cron 表达式在该月的最后一天不起作用

    我想安排一个任务在每月最后一天上午 10 10 运行 cron 表达式是0 10 10 L 现在的问题是CronSequenceGenerator正在投掷NumberFormatException为 L 值 这意味着春天的CronSeque
  • WPF DataGrid 单元格文本换行 - 设置为 NoWrap (False)

    如何将 WPF DataGrid 中每个单元格的 TextWrapping 设置为 NoWrap 我知道单元格本身没有 TextWrapping 属性 但我想在单元格内的控件上设置该属性 我正在使用的 DataGrid 没有显式定义的列 它
  • C# 类可以从其自己的实现中调用接口的默认接口方法吗?

    如果我有一个像这样的默认接口方法 public interface IGreeter void SayHello string name gt System Console WriteLine Hello name 我可以让我的具体实现调用
  • 删除标签但保留文本

    所以我有这个 a xml 文件中的标记 a href www somethinggggg com Something 123 a 我想要的结果是使用 Nokogiri 并完全删除它的标签 这样它就不再是可点击的链接 例如 Something
  • mysql 说:无法连接:设置无效。克安普

    我更改了 root 密码进 行测试 现在我无法登录 XAMPP 中的 phpMyAdmin 页面 我寻求帮助here and here这基本上说改变了配置文件 inc php文件输入XAMPP PHPMYADMIN folder Authe
  • 如何使用 Html.BeginForm() 将 QueryString 值放入 RouteValueDictionary 中?

    我发现Html BeginForm 自动使用 RawUrl 即 QueryStringParamters 填充routeValueDictionary 但是我需要指定一个 HtmlAttribute 所以我需要使用覆盖 public sta
  • 如何动态更改applicationID

    我正在尝试通过将原始 id 附加到 GIT 分支的分支名称来更改我的 applicationId 剧本重命名ID sh完成重命名applicationID的工作 虽然我可以在运行构建时成功重命名ApplicationID 但我希望在构建后恢
  • 用概念检查属性类型

    我想检查结构 类的属性是否符合我的概念需求 但编译器抱怨 Example struct N char value auto Get return value struct M int value auto Get return value
  • 动物园管理员合奏没有出现

    我正在尝试配置 3 个节点的集合文档 它们都在 Linux Ubuntu 上 在所有三个节点上 配置文件如下所示 ZOOKEEPER HOME conf 下的zoo cfg tickTime 2000 dataDir home zkuser