目录

  • 一、实验介绍
  • 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/

zookeeper多机房部署 zookeeper集群部署_配置文件

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

zookeeper多机房部署 zookeeper集群部署_java-zookeeper_02

4.1.2安装Zookeeper软件(master)

#解压到目标路径

tar zxvf /opt/software/package/zookeeper-3.4.6.tar.gz -C /usr/local/

zookeeper多机房部署 zookeeper集群部署_java-zookeeper_03

#重命名为zookeeper
mv /usr/local/zookeeper-3.4.6/ /usr/local/zookeeper

4.1.3修改zookeeper配置文件

1、创建server id文件

#在zookeeper文件下新建data和logs目录

mkdir -p /usr/local/zookeeper/datamkdir –p /usr/local/zookeeper/logs

zookeeper多机房部署 zookeeper集群部署_zookeeper_04

#创建myid文件内容为1
每台机器的myid文件内容不能重复,并和配置文件里的server相对应1-255即可。
echo 1 > /usr/local/zookeeper/data/myid

2、修改zoo.cfg文件
#复制zoo_sample.cfg命名为zoo.cfg
cp /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

zookeeper多机房部署 zookeeper集群部署_java-zookeeper_05

3、检查环境变量
vim /etc/profile

#配置文件末尾加入如下内容:

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=${ZOOKEEPER_HOME}/bin:${PATH}

zookeeper多机房部署 zookeeper集群部署_配置文件_06

#让环境变量生效

source /etc/profile

zookeeper多机房部署 zookeeper集群部署_大数据_07

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

zookeeper多机房部署 zookeeper集群部署_zookeeper_08

#slave2修改为3
echo 3 > /usr/local/zookeeper/data/myid #slave1修改为4
echo 4 >/usr/local/zookeeper/data/myid

3、同步环境变量

scp /etc/profile slave1:/etc/profilescp /etc/profile slave2:/etc/profile

scp /etc/profile slave3:/etc/profile

zookeeper多机房部署 zookeeper集群部署_zookeeper_09


slave1,slave2,slave3

source /etc/profile

4.2验证Zookeeper集群

4.2.1启动Zookeeper集群

#master

zkServer.sh start

zookeeper多机房部署 zookeeper集群部署_配置文件_10

#slave1

zkServer.sh start

zookeeper多机房部署 zookeeper集群部署_zookeeper_11

#slave2

zkServer.sh start

zookeeper多机房部署 zookeeper集群部署_java-zookeeper_12

#slave2

zkServer.sh start

zookeeper多机房部署 zookeeper集群部署_大数据_13

4.2.2验证zookeeper集群状态

zkServer.sh status #master
![]()

#slave1

zookeeper多机房部署 zookeeper集群部署_java-zookeeper_14

#slave2

zookeeper多机房部署 zookeeper集群部署_zookeeper_15

#slave3

zookeeper多机房部署 zookeeper集群部署_配置文件_16

#验证集群可靠性

#停止slave3中的zk

zkServer.sh stop

zookeeper多机房部署 zookeeper集群部署_配置文件_17

#用客户端连接zk

zkCli.sh -server master:2181

zookeeper多机房部署 zookeeper集群部署_大数据_18

五、实验总结

Zookeeper分布式协调技术,主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。Zookeeper的集群我们可以通俗的理解为,一个有Leader的团队,团队中各个成员的数据都是一致的。团队中的Leader采用选举算法推举,所以可以保证在Leader出现问题的时候,又会选举出新的Leader。