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目录。
tar -zxvf experiment/file/zookeeper-3.4.6.tar.gz -C /opt
2.修改解压后文件夹的名字为zookeeper。
mv /opt/zookeeper-3.4.6 /opt/zookeeper ll /opt/
3.复制Zookeeper配置文件zoo_sample.cfg名为/zoo.cfg
cp -r /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg
4.编辑文件zoo.cfg
vim /opt/zookeeper/conf/zoo.cfg
5.按键:set nu回车设置行号,部分截图如下
6.按键12gg,光标定位到12行,部分截图如下
7.按键 i ,更改代码如下:
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。
mkdir -p /root/zookeeper/zkdata mkdir -p /root/zookeeper/zkdatalog
10.赋予文件夹zkdata和zkdatalog可读写权限。
chmod 700 /root/zookeeper/zkdata chmod 700 /root/zookeeper/zkdatalog
11.查看文件夹zkdata和zkdatalog可读写权限。
ll /root/zookeeper
12.编辑.bashrc文件,配置Zookeeper环境变量。
vim ~/.bashrc
13.按键Shift+g键定位到最后一行,按键 i 切换到输入模式下,添加如下代码
export ZOOKEEPER_HOME=/opt/zookeeper PATH=$PATH:$ZOOKEEPER_HOME/bin
14.按键Esc,按键”:wq!”保存退出。
15.刷新配置文件,使新加Zookeeper环境变量生效。
source ~/.bashrc
16.拷贝master主机“.bashrc”文件到slave1、slave2从机“~”下。
scp ~/.bashrc slave1:~/ scp ~/.bashrc slave2:~/
17.拷贝“/root/zookeeper”目录下zkdata和zkdatalog文件夹到slave1、slave2从机对应位置。
scp -r /root/zookeeper slave1:/root/ scp -r /root/zookeeper slave2:/root/
18.拷贝配置好的zookeeper文件夹到slave1、slave2从机“/opt”下。
scp -r /opt/zookeeper slave1:/opt scp -r /opt/zookeeper slave2:/opt
19.在当前主节点master机上,将字符串“3”写入文件myid。
echo "3" > /root/zookeeper/zkdata/myid
cat /root/zookeeper/zkdata/myid
20.切换至“从节点1”机器,双击桌面“Xfce终端”图标打开命令窗口,将“1”写入myid文件。
echo "1" > /root/zookeeper/zkdata/myid
21.在slave1机上,刷新配置文件,使新加Zookeeper环境变量生效。
source ~/.bashrc
22.切换至“从节点2”机器,双击桌面“Xfce终端”图标打开命令窗口,将“2”写入myid文件。
echo "2" > /root/zookeeper/zkdata/myid
cat /root/zookeeper/zkdata/myid
23.在slave2机上,刷新配置文件,使新加Zookeeper环境变量生效。
source ~/.bashrc
24.切换至“主节点”,双击桌面“Xfce终端”图标打开命令窗口,启动Zookeeper。
zkServer.sh start
25.切换至“从节点1”,双击桌面“Xfce终端”图标打开命令窗口,启动Zookeeper。
zkServer.sh start
26.切换至“从节点2”,双击桌面“Xfce终端”图标打开命令窗口,启动Zookeeper。
zkServer.sh start
27.切换至“主节点”,通过命令窗口,查看Zookeeper状态和守护进程。
zkServer.sh status
jps
28.切换至“从节点1”,通过命令窗口,查看Zookeeper状态和守护进程。
zkServer.sh status
jps
29.切换至“从节点2”,通过命令窗口,查看Zookeeper状态和守护进程。
zkServer.sh status
jps
30.切换至“主节点”,双击桌面“Xfce终端”图标打开命令窗口,停止Zookeeper。
zkServer.sh stop
31.切换至“从节点1”,双击桌面“Xfce终端”图标打开命令窗口,停止Zookeeper。
zkServer.sh stop
32.切换至“从节点2”,双击桌面“Xfce终端”图标打开命令窗口,停止Zookeeper。
zkServer.sh stop
所有配置完成