Zookeeper是一个是开源的分布式应用协调系统,是一个简单、快速、高性能的协调器。它在CAP模型中,选择了CP(一致性、分区容错性)。
0x00:实验环境
主机名 |
IP地址 |
Master |
10.30.59.130 |
Slave1 |
10.30.59.131 |
Slave2 |
10.30.59.132 |
0x01:软件要求
软件名称 |
软件版本 |
JDK |
8u77 |
Zookeeper |
3.4.5 |
- 软件约定:
- 安装包在 /opt/soft
- 安装目录在 /opt
0x02:先决条件
0x03:实验步骤
0x030:关闭防火墙与SELinux
| [root@master ~]# systemctl stop firewalld [root@master ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@master ~]# setenforce 0
|
0x031:解压zk与jdk
| [root@master ~]# cd /opt [root@master opt]# tar -xzvf soft/zookeeper-3.4.5.tar.gz [root@master opt]# tar -xzvf soft/jdk-8u77-linux-x64.tar.gz [root@master opt]# mv zookeeper-3.4.5/ zookeeper [root@master opt]# mv jdk1.8.0_77/ jdk
|
0x032:修改配置文件
| [root@master opt]# cp zookeeper/conf/zoo_sample.cfg zookeeper/conf/zoo.cfg [root@master opt]# vi zookeeper/conf/zoo.cfg
|
更改并新增以下配置
| dataDir=/opt/zookeeper/tmp #更改临时文件路径
server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888 #配置集群节点信息
|
新建临时目录与写入Server ID
| [root@master ~]# mkdir zookeeper/tmp [root@master ~]# echo 1 >> zookeeper/tmp/myid #将id写入myid文件内
|
此处注意:写入的id必须与主机对应
如: server.1为master
则master节点上的myid文件内为1
server.2为slave1
则slave1节点上的myid文件内为2
即:
| [root@slave1 ~]# echo 2 >> zookeeper/tmp/myid [root@slave2 ~]# echo 3 >> zookeeper/tmp/myid
|
必须在scp同步之后输入
0x033:配置环境变量
| [root@master ~]# vi /etc/profile.d/hadoop-etc.sh export JAVA_HOME=/opt/jdk export PATH=$PATH:$JAVA_HOME/bin
export ZOOKEEPER_HOME=/opt/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
|
0x034:将文件同步其他节点并使环境变量立即生效
| [root@master ~]# scp zookeeper slave1:/opt/ [root@master ~]# scp zookeeper slave2:/opt/ [root@master ~]# scp /etc/profile.d/hadoop-etc.sh slave1:/etc/profile.d/ [root@master ~]# scp /etc/profile.d/hadoop-etc.sh slave2:/etc/profile.d/
|
| [root@master ~]# source /etc/profile.d/hadoop-etc.sh
|
0x035:启动zk集群
| [root@master ~]# zkServer.sh start
|
0x04:实验验证
| [root@master ~]# zkServer.sh status JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Mode: follower
|
| [root@slave1 ~]# zkServer.sh status JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Mode: follower
|
| [root@slave2 ~]# zkServer.sh status JMX enabled by default Using config: /opt/zookeeper/bin/../conf/zoo.cfg Mode: leader
|
三个节点中,两个为follwer,一个为leader
即为实验成功