zookeeper环境搭建与源码调试
1. zookeeper环境搭建:
1.从https://zookeeper.apache.org/releases.html 下载ZooKeeper,
2. 解压,然后配置, 先一个节点上配置: cd到zk的conf目录下:
cd $ZOOKEEPER/conf
mv zoo_sample.cfg zoo.cfg
然后修改配置项:
# example sakes.
dataDir=/data1/zookeeper/zk-data // 存放数据的目录
# the port at which the clients will connect
clientPort=2181 // 服务端口号
server.1=192.168.58.99:2888:3888 // server1
server.2=192.168.58.100:2888:3888
server.3=192.168.58.101:2888:3888
3. 在(dataDir=/data1/zookeeper/zk-data)创建一个myid文件,里面内容是server.N中的N(server.2里面内容为2)
4. 将配置好的zk拷贝到其他节点
scp -r configured zkNode otherNode
5. 注意:在其他节点上一定要修改myid的内容
6. 启动集群,分别启动zk
./zkServer.sh start
note:在启动后查看状态,可能会报:
Error contacting service. It is probably not running.
这时查看日志文件:在bin下的 zookeeper.out 使用命令cat zookeeper.out显示: nohup: failed to runcommand‘java’: No such file or directory
原因是: 当你执行 sudo sh zkServer.sh status 改变了环境变量,找不到java的环境变量, 所以需要在启动文件zkServer.sh的#!/bin/bash 下设置进java的环境变量在#!/bin/bash 下面加上java环境变量:exportJAVA_HOME=/usr/lib/jdkexportPATH=$JAVA_HOME/bin:$PATH, 便可以顺利搭建好zk了。
2 zookeeper源码调试
1. zk是使用ant构建的,和普通的maven工程不同,需要自己先安装ant构建。
#下载源码
$ git clone https://github.com/apache/zookeeper.git
#安装ant
$ brew install ant
#下载ivy的jar包--网址:http://archive.apache.org/dist/ant/ivy/2.4.0/maven2/2.4.0/
$ cp ivy-2.4.0.jar /usr/local/Cellar/ant/1.10.2/libexec/lib
#构建
$ ant eclipse
$ ant package
2. IDEA打开ZK工程
1. 打开项目的Module Setting,然后手动标注Sources和Tests资源,并且将build目录Excluded掉,如下图:
3 点击Dependencies左下角的+,将Zookeeper构建出的lib目录下的jar文件加进来做依赖;
总结:
本文介绍了zookeeper的环境搭建以及它的源码阅读,这是学习zk的开始!