我们在阅读一些源码的时候,如果能调试源代码将会大大的提高我们的阅读效率。最近在学习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的源代码

最新文章

  1. unity3d 依赖关系获取预制件任意资源
  2. hdu 1005 简单题
  3. SAP B1 ADDON 开发
  4. 修改图层的symbol(AE+C#)
  5. mysql 外连接总结
  6. 并查集(UVA 1106)
  7. Linux Kernel ‘oz_cdev_write()’函数本地缓冲区溢出漏洞
  8. asp.net 事件模型
  9. JVM JMM
  10. USACO 2017 January Platinum
  11. SpringBoot的第一个例子
  12. springmvc中只接受固定提交内容类型的请求
  13. 引擎设计跟踪(九.14.3.3) Deferred shading的一些小细节
  14. postgreSQL 应用case when的例子
  15. 测试RemObjects Pascal Script
  16. Android——计算器第一次完善
  17. ASP.NET站点部署相关
  18. JZYZOJ1261 字典序最小的lis
  19. 各种常用的JSON接口
  20. 剑指offer—第二章算法之快速排序

热门文章

  1. 记录——excel导出lua工具(python实现)
  2. abstract、virtual、sealed
  3. NSA Fuzzbunch分析与利用案例
  4. 调用Live555接收RTSP直播流,转换为Http Live Streaming(iOS直播)协议
  5. 写给Android App开发人员看的Android底层知识(1)
  6. Nodejs 进阶:Express 常用中间件 body-parser 实现解析
  7. Unix Shortcuts
  8. Bash Scripting Learn Notes
  9. 【2017-05-22】WebForm内置对象:Application和ViewState、Repeater的Command用法
  10. Hibernate学习笔记三:对象关系映射(一对一,一对多,多对一,多对多)