网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
cd zookeeper
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623105953395.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)
解压zookeeper-3.4.14.tar.gz文件
tar -zvxf zookeeper-3.4.14.tar.gz
进入配置文件目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623110008406.png)
重命名zoo\_sample.cfg配置文件
zoo\_sample.cfg 这个文件是官方给我们的zookeeper的样板文件,给他复制一份命名为zoo.cfg,zoo.cfg是官方指定的文件命名规则
cp zoo_sample.cfg zoo.cfg
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623110018996.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)
进入到/opt/zookeeper/zookeeper-3.4.14目录下新建data和logs两个文件夹
cd /opt/zookeeper/zookeeper-3.4.14
mkdir data
mkdir logs
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623110032790.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)
修改zoo.cfg 配置文件
cd conf
vi zoo.cfg
#输入以下内容:
dataDir=/opt/zookeeper/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.14/logs
#退出并保存
先按ESC键,输入:wq!回车
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623110050941.png)
进入到bin目录,启动zookeeper
./zkServer.sh start
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020062311010993.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)
利用 ./zkServer.sh status 查看当前zookeeper的状态
./zkServer.sh status
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623110141374.png)
至此,zookeeper的单机版搭建成功。
## 设置开机启动
进入到 /etc/rc.d/init.d 目录下 ,新建一个名为 zookeeper 的文件
cd /etc/rc.d/init.d
mkdir zookeeper
touch zookeeper
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200623110159513.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)
编辑zookeeper文件,把文件修改为 :
vi zookeeper
## 内容如下:
#!/bin/bash
#chkconfig: 2345 10 90
#description: service zookeeper
export JAVA_HOME=/opt/java8/jdk1.8.0_171
export ZOO_LOG_DIR=/opt/zookeeper/zookeeper-3.4.14/logs
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.14
su root ${ZOOKEEPER_HOME}/bin/zkServer.sh “$1”
退出并保存 ,为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限
chmod +x /etc/rc.d/init.d/zookeeper
把zookeeper这个脚本添加到开机启动项里面
chkconfig --add zookeeper
最后重启linux
reboot
重启之后 ,使用如下命令,查看zookeeper是否启动
service zookeeper status
## 集群环境搭建
**下载:**
https://www-eu.apache.org/dist/zookeeper/
https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
**环境配置:**
Linux服务器1:192.168.73.181
Linux服务器2:192.168.73.182
Linux服务器3:192.168.73.183
**搭建过程:**
进入到opt目录下,新建zookeeper目录,下载zookeeper文件
wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
解压zookeeper文件
tar -zvxf zookeeper-3.4.14.tar.gz
重命名zoo\_sample.cfg配置文件
cp zoo_sample.cfg zoo.cfg
进入到/opt/zookeeper/zookeeper-3.4.14目录下新建data和logs两个文件夹
cd /opt/zookeeper/zookeeper-3.4.14
mkdir data
mkdir logs
复制并修改zookeeper配置文件
cd conf
vi zoo.cfg
#输入以下内容:
dataDir=/opt/zookeeper/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.14/logs
增加如下配置:
server.1=192.168.73.181:2888:3888
server.2=192.168.73.182:2888:3888
server.3=192.168.73.183:2888:3888
解读:
Server.A=B:C:D
A 是一个数字,表示这个是第几号服务器
B 是这个服务器的 ip 地址
C 是这个服务器与集群中的 Leader 服务器交换信息的端口
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口
#退出并保存
先按ESC键,输入:wq!回车
* 集群模式下配置一个文件 myid,这个文件在 data目录下,这个文件里面有一个数据就是 A 的值,Zookeeper
启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server
![img](https://img-blog.csdnimg.cn/img_convert/7bdcb0a1d91cf2f70c303269d4c242b7.png)
![img](https://img-blog.csdnimg.cn/img_convert/74ca22d2b25210da5ca950ee7181e15c.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
1715898034834)]
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**