如何远程调试zookeeper集群

Posted followus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何远程调试zookeeper集群相关的知识,希望对你有一定的参考价值。

    我们在阅读一些源码的时候,如果能调试源代码将会大大的提高我们的阅读效率。最近在学习zookeeper源码,分享下如何调试zookeeper集群。

    zookeeper代码,调试环境搭建

1.下载zookeeper3.4.9
拷贝3份 为 node0, node1, node2
2.修改zoo.cfg
添加
server.1=127.0.0.1:3330:4440
server.2=127.0.0.1:3331:4441
server.3=127.0.0.1:3332:4442
修改
dataDir=/tmp/zookeeper
===》
dataDir=/tmp/zookeeper/node0
dataDir=/tmp/zookeeper/node1
dataDir=/tmp/zookeeper/node2
修改
clientPort=2181
===》
clientPort=2181
clientPort=2182
clientPort=2183
添加
在dataDir中创建myid文件
值分别为server.A A的值
修改
nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
===》
DEBUG="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=2346"
JVM_OPTS="$JVM_OPTS $DEBUG"
nohup "$JAVA" $JVM_OPTS "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
git clone zookeeper 3.4.9 源码
执行ant eclipse后将工程导入到idea或者eclipse中
zkServer.sh restart 启动所有节点
idea就可以通过远程端口监控2345,2346,2347,这样便可以实时调试zookeeper的源代码

以上是关于如何远程调试zookeeper集群的主要内容,如果未能解决你的问题,请参考以下文章

如何利用pykafka远程消费 zookeeper+kafka集群 python脚本

Zookeeper集群的搭建与调试

zookeeper集群搭建

filebeat es logstash kibana kafka zookeeper 集群 全链路调试

Zookeeper集群安装

JEESZ-Zookeeper集群安装