zookeeper原理&集成开发环境搭建
前言-理论
有待补充
环境部署
jdk 1.8.0_151
zookeeper-3.5.9
三台服务器ip:
10.0.20.181, 10.0.20.182,10.0.20.183
部署前期准备
三台服务器互通ping/免密登录,参考hadoop搭建前期准备 juejin.cn/post/694835…
!注意:三台机器时钟同步。!注意版本问题。
下载安装包zookeeper.apache.org/releases.ht… 通过老方法xftp传输安装包
安装zookeeper步骤
解压缩
tar -xzvf apache-zookeeper-3.5.9-bin.tar.gz -C /usr/local
换名字
mv apache-zookeeper-3.5.9-bin zookeeper-3.5.9
环境变量
进入 vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.5.9
export PATH=$PATH:$ZOOKEEPER_HOME/bin
立即执行 source /etc/profile
配置文件 zoo.cfg
cd /usr/local/zookeeper-3.5.9
进入conf文件夹 cd conf
查看所有文件ls,(最初没有zoo.cfg文件)
将zoo_sample.cfg 复制并改名为zoo.cfg,cp zoo_sample.cfg zoo.cfg
几个点需要注意:
1.dataDir/dataLogDir (需要建立存储数据和日志的文件夹 mkdir data和logs 在/home/projet/zookeeper的地址下)
- Server.0/Server.1/Server.2的配置,数字需和之后配置的myid对应上. server.0=10.0.20.181:2888:3888/master:2888:3888
server.1=10.0.20.181:2888:3888/slave1:2888:3888
server.2=10.0.20.181:2888:3888/slave2:2888:3888
tickTime : 服务器与客户端之间交互的基本时间单元(ms)
dataDir : 保存zookeeper数据路径
dataLogDir : 保存zookeeper日志路径,当此配置不存在时默认路径与dataDir一致
clientPort : 客户端访问zookeeper时经过服务器端时的端口号
initLimit : 此配置表示允许follower连接并同步到leader的初始化时间,它以tickTime的倍数来表示。当超过设置倍数的tickTime时间,则连接失败。
syncLimit : Leader服务器与follower服务器之间信息同步允许的最大时间间隔,如果超过此间隔,默认follower服务器与leader服务器之间断开链接。
maxClientCnxns : 限制连接到zookeeper服务器客户端的数量
server.id=host:port:port : 表示了不同的zookeeper服务器的自身标识,作为集群的一部分,每一台服务器应该知道其他服务器的信息。用户可以从“server.id=host:port:port” 中读取到相关信息。
建立myid文件
在cd /home/projet/zookeeper里面建立mkdir data 和 logs
进入cd data 建立 vim myid,在myid里输入对应的数字,master 是 0,slave1 是 1, slave2 是 2,
配置集群slave1、slave2
将master的zookeeper跨机复制到 slave1和slave2
scp -r /usr/local/zookeeper slave1:/usr/local
scp -r /usr/local/zookeeper slave2:/usr/local
在cd /home/projet/zookeeper里 mkdir data/logs
slave1 进入 cd data 建立 vim myid,输入1
slave2 进入 CD data 建立 vim myid,输入2
启动/停止/查看状态/jps
进入zookeeper,cd /usr/local/zookeeper-3.5.9
输入 开启 bin/zkServer.sh start , 停止 bin/zkServer.sh stop
三台服务器都启用,查看状态bin/zkServer.sh status
mode:leader、mode follow、mode follow
输入jps,查看进程