已创建由三个 ZooKeeper 服务器组成的 ZooKeeper Quorum。
在zoo.cfg所有三个ZooKeeper的服务器看起来位于如下:
maxClientCnxns=50
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/var/lib/zookeeper
# the port at which the clients will connect
clientPort=2181
server.1=<ip-address-1>:2888:3888
server.2=<ip-address-2>:2888:3888
server.3=<ip-address-3>:2888:3888
Run Code Online (Sandbox Code Playgroud)
分析
很明显,三个 ZooKeeper 服务器之一将成为 ,Leader而其他服务器将成为Followers …
在我为解决此问题所做的步骤下方:
.\bin\windows\kafka-server-start.bat .\config\server.properties另请注意,我的操作系统是 Windows
在第二步发生错误:
ERROR KafkaServer 启动期间的致命错误。准备关闭 (kafka.server.KafkaServer) kafka.common.InconsistentClusterIdException:集群 ID Reu8ClK3TTywPiNLIQIm1w 与 meta.properties 中存储的 clusterId Some(BaPSk1bCSsKFxQQ4717R6Q) 不匹配。代理正在尝试加入错误的集群。配置的zookeeper.connect 可能是错误的。 在 kafka.server.KafkaServer.startup(KafkaServer.scala:220) 在 kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:44) 在 kafka.Kafka$.main(Kafka.scala:84) 在 kafka.Kafka.main (Kafka.scala)
当我触发.\bin\windows\kafka-server-start.bat .\config\server.properties zookeeper控制台返回时:
信息 [SyncThread:0:FileTxnLog@216] - 创建新的日志文件:log.1
如何解决此问题以使 kafka 运行?
编辑按照这些步骤查看此答案解决了我的问题
是否有 cli 或一些命令行,我可以用它来查找 zookeeper 集群状态。基本上我想知道如何加入集群或哪些节点充当领导者。
任何指针都会有所帮助。
在stackoverflow中看到这个问题:https : //stackoverflow.com/questions/16669104/how-to-get-current-zookeeper-clusters-member-server-list,但没有帮助
问题
第一个目标是独立运行 HBase。一旦 HBase 启动,导航到 ip:60010/master-status 就成功了。
第二个目标是运行一个独特的 ZooKeeper 仲裁。ZooKeeper已下载并已启动:
netstat -nato | grep 2181
tcp 0 0 :::2181 :::* LISTEN off (0.00/0/0)
Run Code Online (Sandbox Code Playgroud)
将conf/hbase-env.sh改变如下:
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
Run Code Online (Sandbox Code Playgroud)
为了避免 HBase 在 HBase 启动后启动 ZooKeeper。
但是,一旦启动了 HBase,就会出现以下错误。
Could not start ZK at requested port of 2181. ZK was started at port: 2182.
Aborting as clients (e.g. shell) will not be able to find this ZK quorum.
Run Code Online (Sandbox Code Playgroud)
题 …
我已经按照此处的建议在 Ubuntu 14.04 (Trusty Tahr) 上安装了 zookeeperd :
不幸的是,这个过程在某种程度上是不可停止的。我什至尝试过 kill -9
user@node1:/opt/zookeeper-3.4.6$ ps -ef | grep zookeeper
zookeep+ 4008 1 8 01:07 ? 00:00:00 /usr/bin/java -cp /etc/zookeeper/conf:/usr/share/java/jline.jar:/usr/share/java/log4j-1.2.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/netty.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-log4j12.jar:/usr/share/java/zookeeper.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dzookeeper.log.dir=/var/log/zookeeper -Dzookeeper.root.logger=INFO,ROLLINGFILE org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfg
Run Code Online (Sandbox Code Playgroud)
展示过程
user 4055 2823 0 01:07 pts/3 00:00:00 grep --color=auto zookeeper
Run Code Online (Sandbox Code Playgroud)
杀了它
user@node1:/opt/zookeeper-3.4.6$ sudo kill -9 4008
Run Code Online (Sandbox Code Playgroud)
查看:
user@node1:/opt/zookeeper-3.4.6$ ps -ef | grep zookeeper
zookeep+ 4075 1 24 01:07 ? 00:00:00 /usr/bin/java -cp /etc/zookeeper/conf:/usr/share/java/jline.jar:/usr/share/java/log4j-1.2.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/netty.jar:/usr/share/java/slf4j-api.jar:/usr/share/java/slf4j-log4j12.jar:/usr/share/java/zookeeper.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Dzookeeper.log.dir=/var/log/zookeeper -Dzookeeper.root.logger=INFO,ROLLINGFILE org.apache.zookeeper.server.quorum.QuorumPeerMain /etc/zookeeper/conf/zoo.cfg
Run Code Online (Sandbox Code Playgroud)
尝试脚本
user@node1:/opt/zookeeper-3.4.6$ sudo /etc/init.d/zookeeper stop …Run Code Online (Sandbox Code Playgroud) 我想从社区中获得关于为什么 MongoDB 的键/值会或不会是 etcd 或其他专门构建的键/值存储系统(consol、zookeeper 等)的合适替代品的一般想法。
我有zookeeper.version=3.4.10,我看到:
https://issues.apache.org/jira/browse/ZOOKEEPER-2307
然而,该问题仍处于悬而未决的状态。问题的出现是因为磁盘空间已满。现在我删除了一些日志并释放了空间,我想启动zookeeper,但由于此错误它不会启动:
[2019-01-22 09:07:32,646] ERROR Unable to load database on disk
(org.apache.zookeeper.server.quorum.QuorumPeer)
java.io.IOException: The accepted epoch, 13 is less than the current epoch,
14
at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:645)
at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:591)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:164)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
[2019-01-22 09:07:32,648] ERROR Unexpected exception, exiting abnormally
(org.apache.zookeeper.server.quorum.QuorumPeerMain)
java.lang.RuntimeException: Unable to run quorum server
at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:649)
at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:591)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:164)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.io.IOException: The accepted epoch, 13 is less than the current epoch, 14
at org.apache.zookeeper.server.quorum.QuorumPeer.loadDataBase(QuorumPeer.java:645)
... 4 more
Run Code Online (Sandbox Code Playgroud)
我是否必须修补它(我不确定是否已准备好修补程序),或者我可以修复动物园管理员数据(例如,使其以某种方式接受新纪元)并继续使用相同的版本吗?