1.准备工作:
##准备3个节点,要求配置好主机名称,服务器之间系统时间保持一致##注意/etc/hostname 和/etc/hosts 配置主机名称(在这个里我准备Prac-zk-133, Prac-zk-134 , Prac-zk-135二节点)
vim /etc/hosts #保证可以通过主机名互通 添加格式为IP 主机名称## 比如
172.16.144.133 Prac-zk-133
172.16.144.134 Prac-zk-134
172.16.144.135 Prac-zk-135
## 测试ping ip
ping 主机名
##注意关闭防火墙# 1. 启动防火墙
systemctl start firewalld
# 2. 关闭防火墙
systemctl stop firewalld
# 3. 重启防火墙
systemctl restart firewalld
# 4.查看防火墙状态
systemctl status firewalld
# 5. 开启禁用的防火墙
systemctl disable firewalld
##特别注意以下操作3个节点要同时进行操作哦!
2.上传zk到三台服务器节点
## 复制到其他机器 暂时测试不好用#scp zookeeper-3.4. 6. tar.gz 192. 168.11.222: /usr/local /software/ ## 上传到/usr/local/softwarecd /usr/local/software
##注意我这里解压到/usr/local下## 2.1进行解压: tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/
cd /usr/local/
# 2.2重命名: mv zookeeper-3.4.6 zookeeper
# 2.3修改环境变量:
vim ~/.bash_profile
##这里要添加zookeeper的全局变量 jdk如果不会装,可以看之前文章export JAVA_HOME=/usr/local/jdk1.8
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=.:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH## 2.4刷新环境变量:source ~/.bash_profile
# 2.5到zookeeper 下修改配置文件:# 2.5.1首先到指定目录: cd /usr/local/zookeeper/conf
# 2.5.2然后复制zoo_sample.cfg文件, 复制后为zoo.cfg:mv zoo_sample.cfg zoo.cfg
# 2.5.3然后修改两处地方,最后保存退出:
vim /usr/local/zookeeper/conf/zoo.cfg
# (1)修改数据的dir 存储数据的地方
dataDir=/usr/local/zookeeper/data
# (2) 修改集群地址
server.0=Prac-zk-133:2888:3888
server.1=Prac-zk-134:2888:3888
server.2=Prac-zk-135:2888:3888
## 2.5.4 增加服务器标识配置,需要2步骤,第一是创建文件夹和文件, 第二是添加配置内容:# (1)创建文件夹: mkdir /usr/local/zookeeper/data
# (2)创建文件myid路径应该创建在/usr/local/zookeeper/data 下面,如下:
vim /usr/local/zookeeper/data/myid
# 注意这里每台服务 器的myid文件内容不同,分别修改里面的值为0, 1, 2;与我们之前的zoo.cfg配置文件里:# server.0, server.1, server.2 顺序相对应,然后保存退出;# 2.7到此为止,Zookeeper集群环境大功告成!启动zookeeper命令
启动路径: cd /usr/local/zookeeper/bin (也可在任意目录,因为配置了环境变量)
执行命令: zkServer.sh start (注意这里3台机器都要进行启动,启动之后可以查看状态)
./zkServer.sh start-foreground # 有日志的打印的启动
查看状态: zkServer.sh status (在三个节点上检验zk的mode,会看到一个leader和俩个 follower)
关闭 : zkServer.sh stop
## zkCli.sh进入zookeeper客户端
HostnameIpRootPrac-zk-133172.16.144.133rootPrac-zk-134172.16.144.134rootPrac-zk-135172.16.144.135root
172.16.144.133 Prac-zk-133
172.16.144.134 Prac-zk-134
172.16.144.135 Prac-zk-135
zkServer.sh start-foreground 使用它启动会出现地址已在使用
Zookeeper启动失败(java.net.BindException: 地址已在使用
端口被占用了,把2181端口改成别的就可以
lsof -i:2181 #查到进程
kill -s 9 2715 #然后杀掉上面的进程
如果只是使用zkServer.sh stop会停不干净,后续继续研究,方法在上
zoo.cfg配置说明
tickTime : 时间单位
initLimit follower与leader 同步数据的时间(initLimit*tickTime))
Synclimit 心跳检测最大延迟时间。
dataDir 默认情况下,zookeeper的事务日志 和 数据快照 都会保存在 dataDir 目录下.
dataLogDir log日志存储目录,默认dataDir下
clientPort 客户端与服务端建立连接的端口号,默认2181
版权归原作者 Jeroro_franklin 所有, 如有侵权,请联系我们删除。