安装Zookeeper
1、下载Zookeeper安装包
打开链接选择一个版本进行下载
https://zookeeper.apache.org/releases.html
2、上传Zookeeper安装包到集群
输入命令
scp apache-zookeeper-3.8.4-bin.tar.gz hadoop@192.168.88.100:/tmp
也可以使用xftp等上传,物理机用u盘或移动硬盘
3、 解压缩Zookeeper安装包
输入命令,将Zookeeper解压缩到/export/server/路径下
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /export/server/
4、创建软链接
执行命令
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
5、修改配置文件
(1)进入到目录
cd /export/server/zookeeper/conf
(2)给配置文件改名
mv zoo_sample.cfg zoo.cfg
(3)编辑zoo.cfg
vim zoo.cfg
1)修改dataDir
dataDir=/export/server/zookeeper/data
2)配置zookeeper集群的服务器编号以及对应的主机名,选举端口号和通信端口号
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
需要做好主机名和IP映射关系,不放心直接填写主机对应IP
3)保存退出
(4)创建data文件夹
mkdir /export/server/zookeeper/data
6、设置服务器编号
在/export/server/zookeeper/data内,创建文件myid
vim myid
内容输入1后保存退出
7、配置环境变量
切换到root用户
su
编辑环境变量文件
vim /etc/profile
输入内容
export ZK_HOME=/export/server/zookeeper
export PATH=$PATH:$ZK_HOME/bin
使环境变量生效,root用户和hadoop用户都执行
source /etc/profile
8、剩余节点配置
(1)在node2和node3同样配置环境变量,仿照node1
或者用root用户直接发送
scp /etc/profile node2:/etc/
scp /etc/profile node3:/etc/
同样执行
source /etc/profile
(2)分发zookeeper到node2和node3
scp -r apache-zookeeper-3.8.4-bin/ node2:/export/server/
scp -r apache-zookeeper-3.8.4-bin/ node3:/export/server/
在node2和node3上创建软链接
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
(3)修改node2和node3的myid分别为2和3
9、运行测试
在3台结点上执行,否则本地运行
zkServer.sh start
PS:刚开始旨在node1上执行,查看日志说是node2和node3拒绝连接,然后查解决方案,没有一个说要在所有结点上启动zookeeper的,要么是让你换jdk,要么是ip和主机名映射不对,或者配置文件写错了。当然也有个疑问,虽然zookeeper的leader和follower选举产生,但为什么不能在node1上启动zookeeper后,让其余结点也启动,就像hdfs那样?
查看状态,若各个结点能选举出leader和follower就算成功
zkServer.sh status
停止可用,也是3个结点执行
zkServer.sh stop