安装前准备
准备3台服务器
192.168.0.111 sparkproject001
192.168.0.118 sparkproject002
192.168.0.119 sparkproject003
并配置hosts文件:
[root@sparkproject001 conf]# vi /etc/hosts
- (1)安装Jdk
- (2)拷贝Zookeeper安装包到Linux系统下
- (3)解压到指定目录
1)官网首页:
https://zookeeper.apache.org/
[root@sparkproject001 myproject]# tar -zxvf zookeeper-3.4.10-bin.tar.gz
(4)修改名称
[root@sparkproject001 myproject] mv zookeeper-3.4.10 zookeeper-3.4.10
2)配置修改
1)将/usr/myproject/zookeeper-3.4.10/conf这个路径下的 zoo_sample.cfg 修改为 zoo.cfg;
[root@sparkproject001 conf]# mv zoo_sample.cfg zoo.cfg
(2)打开 zoo.cfg 文件,修改 dataDir 路径:
dataDir= /usr/myproject/zookeeper-3.4.10/zkData
dataLogDir= /usr/myproject/zookeeper-3.4.10/zklogData
设置集群配置:
server.1=sparkproject001:2888:3888
server.2=sparkproject002:2888:3888
server.3=sparkproject003:2888:3888
注意:此时一定要配置hosts文件
server.A=B:C:D
- A是一个数字,表示这个是第几号服务器。集群模式下需要在zoo.cfg中dataDir指定的目录下创建一个文件myid,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
- B是这个服务器的地址。
- C是这个服务器Follower与集群中的Leader服务器交换信息的端口。
- D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
拷贝配置好的 Zookeeper 配置文件到其他机器上
scp /usr/myproject/zookeeper-3.4.10/conf/zoo.cfg 192.168.0.118:/usr/myproject/zookeeper-3.4.10/conf
scp /usr/myproject/zookeeper-3.4.10/conf/zoo.cfg 192.168.0.119:/usr/myproject/zookeeper-3.4.10/conf
在每个节点上创建数据目录和日志目录
在每个节点的dataDir指定的目录下创建一个 myid 的文件
/usr/myproject/zookeeper-3.4.10/zkData
myid的值分别为:1,2,3
配置 Zookeeper 启动脚本
vim /etc/init.d/zookeeper
#!/bin/bash
#chkconfig:2345 20 90
#description:Zookeeper Service Control Script
ZK_HOME='/usr/myproject/zookeeper-3.4.10'
case $1 in
start)
echo "---------- zookeeper 启动 ------------"
$ZK_HOME/bin/zkServer.sh start
;;
stop)
echo "---------- zookeeper 停止 ------------"
$ZK_HOME/bin/zkServer.sh stop
;;
restart)
echo "---------- zookeeper 重启 ------------"
$ZK_HOME/bin/zkServer.sh restart
;;
status)
echo "---------- zookeeper 状态 ------------"
$ZK_HOME/bin/zkServer.sh status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
esac
置开机自启
#设置开机自启
chmod +x /etc/init.d/zookeeper
chkconfig --add zookeeper
#分别启动 Zookeeper
service zookeeper start
#查看当前状态
service zookeeper status