一、前提准备
1.1、centos7系统环境,jdk环境
1.2、准备三台虚拟机,相互可以免密访问,且都有jdk环境
二、使用xftp工具上传zookeeper安装包至/export/software/文件夹下
2.1、 解压
[root@hadoop1 ~]# cd /export/software/
[root@hadoop1 software]# tar -zxvf zookeeper-3.4.6.tar.gz -C /export/servers/
2.2、 修改名字(可做可不做)
[root@hadoop1 software]# cd /export/servers/
[root@hadoop1 servers]# mv zookeeper-3.4.6/ zookeeper
2.3、配置环境变量
[root@hadoop1 servers]# vi /etc/profile
添加环境变量:
export ZOOKEEPER_HOME=/export/servers/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
刷新文件,使其生效
[root@hadoop1 servers]# source /etc/profile
验证,出现路径即为成功
[root@hadoop1 servers]# echo $ZOOKEEPER_HOME
三、修改配置文件
[root@hadoop1 servers]# cd zookeeper/conf/
复制一份zoo_sample.cfg文件并命名为zoo.cfg
[root@hadoop1 conf]# cp zoo_sample.cfg zoo.cfg
编辑zoo.cfg文件:
[root@hadoop1 conf]# vi zoo.cfg
找到并修改dataDir路径(用于存放日志,以及myid)
dataDir=/export/data/zkdata
添加dataLogDir
dataLogDir=/export/data/zklogs
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
创建所需文件夹
[root@hadoop1 conf]# mkdir -p /export/data/zkdata
[root@hadoop1 conf]# mkdir -p /export/data/zklogs
添加myid
[root@hadoop1 conf]# cd /export/data/zkdata/
[root@hadoop1 zk_data]# echo 1 >> myid
四、分发文件
4.1、分发profile文件
[root@hadoop1 zkdata]# scp /etc/profile hadoop2:/etc/profile
[root@hadoop1 zkdata]# scp /etc/profile hadoop3:/etc/profile
去另外两台机刷新文件,并验证:
Hadoop2:
[root@hadoop2 ~]# source /etc/profile
[root@hadoop2 ~]# echo $ZOOKEEPER_HOME
Hadoop3:
[root@hadoop3 ~]# source /etc/profile
[root@hadoop3 ~]# echo $ZOOKEEPER_HOME
出现路径即为成功
4.2、分发zoo.cfg文件
[root@hadoop1 zkdata]# scp -r /export/servers/zookeeper/ hadoop2:/export/servers/
[root@hadoop1 zkdata]# scp -r /export/servers/zookeeper/ hadoop3:/export/servers/
4.3、分发data文件
[root@hadoop1 zkdata]# scp -r /export/data/ hadoop2:/export/data
[root@hadoop1 zkdata]# scp -r /export/data/ hadoop3:/export/data
4.4、去另外两台机修改对应的myid
Hadoop2:
[root@hadoop2 ~]# cd /export/data/zkdata/
[root@hadoop2 zkdata]# vi myid
保存退出!
Hadoop3:
[root@hadoop3 ~]# cd /export/data/zkdata/
[root@hadoop3 zkdata]# vi myid
五、关闭防火墙
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
六、 启动zookeeper(三台机都要启动)
[root@hadoop1 ~]# zkServer.sh start
查看角色:
[root@hadoop1 ~]# zkServer.sh status
停止:
[root@hadoop1 ~]# zkServer.sh stop