如何远程调试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脚本