目录
- 一、实验介绍
- 1.1实验内容
- 1.2实验知识点
- 1.3实验环境
- 1.4实验资源
- 1.5实验步骤清单
- 二、实验架构
- 三、实验环境准备
- 四、实验步骤
- 4.1部署Zookeeper集群
- 4.1.1配置hosts文件
- 4.1.2安装Zookeeper软件(master)
- 4.1.3修改zookeeper配置文件
- 4.1.4配置Zookeeper集群
- 4.2验证Zookeeper集群
- 4.2.1启动Zookeeper集群
- 4.2.2验证zookeeper集群状态
- 五、实验总结
一、实验介绍
1.1实验内容
基于Hadoop生态系统的大数据平台之上部署Zookeeper集群,Zookeeper被应用与一些集群上,可以提高集群的可用性。它可以帮助你避免单点故障,使企业大数据平台更加可靠。
本实验采用4台机器搭建Zookeeper集群,其中1台机器作为Leader节点,另外三台机器作为Follower节点。
1.2实验知识点
Zookeeper集群部署
Zookeeper集群验证
1.3实验环境
Zookeeper3.4.6
网易云平台
1.4实验资源
资源名称 | 存储目录 |
Zookeeper安装包 | /opt/software/package/ |
1.5实验步骤清单
部署zookeeper集群(安装ZK、修改ZK配置文件、配置ZK集群)
验证zookeeper集群(启动ZK集群、验证ZK集群)
二、实验架构
序号 | IP地址 | 机器名 | 类型 |
1 | 172.25.10.140 | master | Follower |
2 | 172.25.10.141 | slave1 | Follower |
3 | 172.25.10.142 | slave2 | Leader |
4 | 172.25.10.143 | slave3 | Follower |
三、实验环境准备
进入实验列表,找到Zookeeper,点击开启实验,启动master、slave1及salve2,slave3。
四、实验步骤
4.1部署Zookeeper集群
4.1.1配置hosts文件
#hosts文件末尾加入如下内容(masterip、slave1ip及slave2ip是这三台机器的ip地址
vim /etc/hosts
4.1.2安装Zookeeper软件(master)
#解压到目标路径
tar zxvf /opt/software/package/zookeeper-3.4.6.tar.gz -C /usr/local/
#重命名为zookeepermv /usr/local/zookeeper-3.4.6/ /usr/local/zookeeper
4.1.3修改zookeeper配置文件
1、创建server id文件
#在zookeeper文件下新建data和logs目录
mkdir -p /usr/local/zookeeper/data
mkdir –p /usr/local/zookeeper/logs
#创建myid文件内容为1
每台机器的myid文件内容不能重复,并和配置文件里的server相对应1-255即可。echo 1 > /usr/local/zookeeper/data/myid
2、修改zoo.cfg文件
#复制zoo_sample.cfg命名为zoo.cfgcp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
#修改zoo.cfg内容vim /usr/local/zookeeper/conf/zoo.cfg
initLimit=10
syncLimit=5
clientPort=2181
tickTime=2000
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
server.4=slave3:2888:3888
3、检查环境变量vim /etc/profile
#配置文件末尾加入如下内容:
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=${ZOOKEEPER_HOME}/bin:${PATH}
#让环境变量生效
source /etc/profile
4.1.4配置Zookeeper集群
1、同步/usr/local/zookeeper目录文件到slave节点(master)scp -r /usr/local/zookeeper slave1:/usr/local/
scp -r /usr/local/zookeeper slave2:/usr/local/
scp -r /usr/local/zookeeper slave3:/usr/local/
2、修改slave1、2 myid文件内容
#slave1修改为2
echo 2 >/usr/local/zookeeper/data/myid
#slave2修改为3echo 3 > /usr/local/zookeeper/data/myid
#slave1修改为4echo 4 >/usr/local/zookeeper/data/myid
3、同步环境变量
scp /etc/profile slave1:/etc/profile
scp /etc/profile slave2:/etc/profile
scp /etc/profile slave3:/etc/profile
slave1,slave2,slave3
source /etc/profile
4.2验证Zookeeper集群
4.2.1启动Zookeeper集群
#master
zkServer.sh start
#slave1
zkServer.sh start
#slave2
zkServer.sh start
#slave2
zkServer.sh start
4.2.2验证zookeeper集群状态
zkServer.sh status
#master
![]()
#slave1
#slave2
#slave3
#验证集群可靠性
#停止slave3中的zk
zkServer.sh stop
#用客户端连接zk
zkCli.sh -server master:2181
五、实验总结
Zookeeper分布式协调技术,主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。Zookeeper的集群我们可以通俗的理解为,一个有Leader的团队,团队中各个成员的数据都是一致的。团队中的Leader采用选举算法推举,所以可以保证在Leader出现问题的时候,又会选举出新的Leader。