一、环境:规划三台服务器
192.168.9.30 server.1
192.168.9.31 server.2
192.168.9.32 server.3
二、下载,上传源码包
三、搭建JAVA环境1.70版本以上
tar xf jdk-8u121-linux-x64.tar.gz -C /usr/src/
cd /usr/src/
mv jdk1.8.0_121/ java #将解压后的目录改名为java目录
echo -e "export JAVA_HOME=/usr/src/java
export CLASSPATH=.:/usr/src/java/lib/tools.jar
export PATH=$PATH:/usr/src/java/bin" >>/etc/profile #添加全局声明
source /etc/profile #进行全局声明
java --version #查看java版本,出现版本后说明安装成功
四、解压ZooKeeper源码包。
tar xf zookeeper-3.4.8.tar.gz -C /usr/src/
cd /usr/src/zookeeper-3.4.8/conf
五、通过模板zoo_sample.cfg生成配置文件zoo.cfg
cp zoo_sample.cfg zoo.cfg
六、编辑配置文件zoo.cfg【三台服务器相同的配置】
三台服务器对应的端口号分别为 2181 2182 2183
下方的server.1 server.2 server.3第一次启动时先注释,三台都起来后再解除注释,重启。。
vim zoo.cfg
七、启动zookeeper查看
/tmp/zookeeper-3.4.8/bin/zkServer.sh start
八、每台服务器下的dataDir目录下创建一个myid的文件,分别写入不同的数字
echo '1' >/tmp/zookeeper/myid
例如:
192.168.9.30 创建的文件写入 ------> 1
192.168.9.31 创建的文件写入 ------> 2
192.168.9.32 创建的文件写入 ------> 3
九、重新启动每台服务器的zookeeper服务
/tmp/zookeeper-3.4.8/bin/zkServer.sh restart
***启动异常***
一、ZooKeeper查看状态显示启动异常
[root@bogon bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/src/zookeeper-3.4.8/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
解决方案:
首先检查防火墙是否关闭或允许通过。。
1、zoo.cfg配置文件中指定目录没有创建,创建相应的目录即可;
2、zoo.cfg中dataDir指定路径为myid的路径;
myid内容与: server.?=localhost:2888:3888 中设置的一致
3、使用service iptables stop 关闭防火墙
使用service iptables status确认
4、打开zkServer.sh找到
status)
STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2>/dev/null |grep Mode`
在nc与localhost之间加上 -q 1 (数字1)
如果已存在就去掉
5、2181端口被占用
找个没有被占用的端口。。