主机列表:
192.168.1.16 cache01
192.168.1.17 cache02
192.168.1.18 cache03
所需软件:zookeeper-3.4.6.tar.gz jdk-7u75-linux-x64.gz
下载:wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
安装 java 环境
tar zxvf jdk-7u75-linux-x64.gz
mv jdk1.7.0_75 /data/
vim /etc/profile
JAVA_HOME=/data/jdk1.7.0_75
JRE_HOME=/data/jdk1.7.0_75/jre
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
查看是否安装好
java --version
配置/etc/hosts (三台主机都要配置)
安装配置 zookeeper
tar zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 /data
mv /data/zookeeper-3.4.6/conf/zoo_sample.cfg /data/zookeeper-3.4.6/conf/zoo.cfg
vim /data/zookeeper-3.4.6/conf/zoo.cfg
tickTime 心跳时间
initLimit 初始化连接时, follower 和 leader 之间的最长心跳时间,时间限制为 10 倍
tickTime, 即 10*2000=20000ms=20s.
sysncLimit 配置 leader 和 follower 之间发送消息, 请求和应答的最大时间长度,时间限制
为 5 倍 tickTime, 即 10000ms
dataDir 数据目录
dataLogDir 日志目录
clientPort 端口号
server.1=cache01:2888:3888 server.1 中的 1 为 host 机器在集群中的机器序号(在三台机
器上要配置 myid),cache01 为三台主机的 hostname ,2888 为用于连接 leader 的端口,3888
为用于 leader 选举的端口
设置 myid,在三台主机上分别运行
echo “1”>/data/zookeeper/data/myid
echo “2”>/data/zookeeper/data/myid
echo “3” >/data/zookeeper/data/myid
启动 zookeeper(三台主机上运行)
/data/zookeeper-3.4.6/bin/zkServer.sh start /data/zookeeper-3.4.6/conf/zoo.cfg
分别查看三台主机的状态
测试写数据
在 16 上运行:
在 17 上运行:
在 18 上运行
说明三台主机可以同步数据
测试删数据
在 18 上运行
在 16、17 上运行
说明可以同步删除数据