ZooKeeper集群环境搭建

🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇


个人主页:beixi@

本文章收录于专栏(点击传送):【大数据学习】
💓💓持续更新中,感谢各位前辈朋友们支持学习~💓💓

文章目录

1.ZooKeeper集群环境介绍

ZooKeeper集群由多个服务器节点组成,其中包括一个Leader节点和多个Follower节点。Leader节点负责处理所有客户端请求,并将数据同步到Follower节点。当Leader节点出现故障时,Follower节点会通过选举机制选举出新的Leader节点。
ZooKeeper集群的主要特点包括:

  • 高性能:ZooKeeper采用基于内存的数据结构和高效的通信协议,具有很高的性能和低延迟。

  • 可靠性:ZooKeeper通过数据复制和选举机制来实现容错能力,即使部分节点出现故障,集群仍然可用。

  • 顺序一致性:ZooKeeper保证了客户端对数据的读写操作是按照其发送顺序被执行的。

  • 数据持久化:ZooKeeper可以将数据持久化到磁盘,即使集群重启也能恢复数据。

2.搭建环境准备

本次用到的环境有:
JDK1.8.0_144
Zookeeper3.4.6
Oracle Linux 7.4

3.搭建步骤

1.解压Zookeeper压缩文件至/opt目录。

bash 复制代码
tar -zxvf experiment/file/zookeeper-3.4.6.tar.gz -C /opt

2.修改解压后文件夹的名字为zookeeper。

bash 复制代码
mv /opt/zookeeper-3.4.6 /opt/zookeeper
ll /opt/

3.复制Zookeeper配置文件zoo_sample.cfg名为/zoo.cfg

bash 复制代码
cp -r /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg

4.编辑文件zoo.cfg

bash 复制代码
vim /opt/zookeeper/conf/zoo.cfg

5.按键:set nu回车设置行号,部分截图如下

6.按键12gg,光标定位到12行,部分截图如下

7.按键 i ,更改代码如下:

bash 复制代码
dataDir=/root/zookeeper/zkdata
dataLogDir=/root/zookeeper/zkdatalog
server.1=slave1:2888:3888
server.2=slave2:2888:3888
server.3=master:2888:3888

8.按键Esc,按键":wq!"保存退出。
9.建立Zookeeper数据文件夹zkdata和日志文件夹zkdatalog。

bash 复制代码
mkdir -p /root/zookeeper/zkdata
mkdir -p /root/zookeeper/zkdatalog

10.赋予文件夹zkdata和zkdatalog可读写权限。

bash 复制代码
chmod 700 /root/zookeeper/zkdata
chmod 700 /root/zookeeper/zkdatalog

11.查看文件夹zkdata和zkdatalog可读写权限。

bash 复制代码
ll /root/zookeeper

12.编辑.bashrc文件,配置Zookeeper环境变量。

bash 复制代码
vim ~/.bashrc

13.按键Shift+g键定位到最后一行,按键 i 切换到输入模式下,添加如下代码

bash 复制代码
export ZOOKEEPER_HOME=/opt/zookeeper
PATH=$PATH:$ZOOKEEPER_HOME/bin

14.按键Esc,按键":wq!"保存退出。
15.刷新配置文件,使新加Zookeeper环境变量生效。

bash 复制代码
source ~/.bashrc

16.拷贝master主机".bashrc"文件到slave1、slave2从机"~"下。

bash 复制代码
scp ~/.bashrc slave1:~/
scp ~/.bashrc slave2:~/

17.拷贝"/root/zookeeper"目录下zkdata和zkdatalog文件夹到slave1、slave2从机对应位置。

bash 复制代码
scp -r /root/zookeeper slave1:/root/
scp -r /root/zookeeper slave2:/root/


18.拷贝配置好的zookeeper文件夹到slave1、slave2从机"/opt"下。

bash 复制代码
scp -r /opt/zookeeper slave1:/opt
scp -r /opt/zookeeper slave2:/opt


19.在当前主节点master机上,将字符串"3"写入文件myid。

bash 复制代码
echo "3" > /root/zookeeper/zkdata/myid
bash 复制代码
cat /root/zookeeper/zkdata/myid

20.切换至"从节点1"机器,双击桌面"Xfce终端"图标打开命令窗口,将"1"写入myid文件。

bash 复制代码
echo "1" > /root/zookeeper/zkdata/myid
bash 复制代码
cat /root/zookeeper/zkdata/myid

21.在slave1机上,刷新配置文件,使新加Zookeeper环境变量生效。

bash 复制代码
source ~/.bashrc

22.切换至"从节点2"机器,双击桌面"Xfce终端"图标打开命令窗口,将"2"写入myid文件。

bash 复制代码
echo "2" > /root/zookeeper/zkdata/myid
bash 复制代码
cat /root/zookeeper/zkdata/myid

23.在slave2机上,刷新配置文件,使新加Zookeeper环境变量生效。

bash 复制代码
source ~/.bashrc

24.切换至"主节点",双击桌面"Xfce终端"图标打开命令窗口,启动Zookeeper。

bash 复制代码
zkServer.sh start

25.切换至"从节点1",双击桌面"Xfce终端"图标打开命令窗口,启动Zookeeper。

bash 复制代码
zkServer.sh start

26.切换至"从节点2",双击桌面"Xfce终端"图标打开命令窗口,启动Zookeeper。

bash 复制代码
zkServer.sh start

27.切换至"主节点",通过命令窗口,查看Zookeeper状态和守护进程。

bash 复制代码
zkServer.sh status
bash 复制代码
jps

28.切换至"从节点1",通过命令窗口,查看Zookeeper状态和守护进程。

bash 复制代码
zkServer.sh status
bash 复制代码
jps

29.切换至"从节点2",通过命令窗口,查看Zookeeper状态和守护进程。

bash 复制代码
zkServer.sh status
bash 复制代码
jps

30.切换至"主节点",双击桌面"Xfce终端"图标打开命令窗口,停止Zookeeper。

bash 复制代码
zkServer.sh stop

31.切换至"从节点1",双击桌面"Xfce终端"图标打开命令窗口,停止Zookeeper。

bash 复制代码
zkServer.sh stop

32.切换至"从节点2",双击桌面"Xfce终端"图标打开命令窗口,停止Zookeeper。

bash 复制代码
zkServer.sh stop

所有配置完成,如果本篇文章对你有帮助,记得点赞关注+收藏哦~

相关推荐
Lsetea7 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
夜听莺儿鸣7 小时前
502-002_Linux驱动开发模块化编程
linux·驱动开发·模块化编程
weixin_424183617 小时前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
动恰客流统计7 小时前
景区客流统计怎么做?兼顾管控与运营的实施方案解析
大数据·前端·人工智能
weixin_443883017 小时前
合规整改倒计时:高等级签名证书的应用场景
大数据·人工智能·法大大·法大大电子签·电子合同
wuminyu8 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
优化Henry8 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
代码方舟8 小时前
数据科学风控实战:基于天远全能消金报告构建自动化信用评估网关
运维·人工智能·自动化
科力锐品牌君8 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
KaiwuDB8 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库