搭建 Zookeeper 集群
注意:我们的集群一般有3个节点,这些操作基本3个节点都要进行,这里只针对一个节点进行说明。
1 进入/home/tools目录,上传zookeeper-3.4.13
[root@storm01 home]# cd tools
[root@storm01 tools]# rz
2 解压 zookeeper-3.4.13.tar.gz 到 /home/softwares
[root@storm01 tools]# tar -zxf zookeeper-3.4.13.tar.gz -C ../softwares
3 进入zookeeper-3.4.13/
[root@storm01 softwares]# cd zookeeper-3.4.13/
4 进入conf,复制zoo_sample.cfg 文件命名为zoo.cfg
[root@storm01 conf]# cp zoo_sample.cfg zoo.cfg
5 克隆一个窗口进入zookeeper-3.4.13,创建zkdata、logs文件夹
编辑zoo.cfg
vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5 //在这以后加入:
dataDir=/home/softwares/zookeeper-3.4.13/zkdata ##zkdata路径
dataLogDir=/home/softwares/zookeeper-3.4.13/logs ##logs路径
server.1=storm01:2888:3888
server.2=storm02:2888:3888
server.3=storm02:2888:3888
说明:
dataDir 指定 Zookeeper 的数据文件目录 server.id=host:port:port,id 是为每个 Zookeeper 节点的编号,保存在 dataDir 目录下的 myid 文件中,cddserver1、cddserver2、cddserver3 表示各个 Zookeeper 节点的 hostname,第一个 port 是用于连接 leader 的端口,第二个 port 是用于 leader 选举的端口。
建立节点标识文件
[root@storm01 zookeeper-3.4.13]# cd zkdata/
[root@storm01 zkdata]# echo 1 >myid ##第一个节点
[root@storm02 zookeeper-3.4.13]# cd zkdata/
[root@storm02 zkdata]# echo 2>myid ##第二个节点
[root@storm03 zookeeper-3.4.13]# cd zkdata
[root@storm03 zkdata]# echo 3 >myid ##第三个节点
[root@storm03 zkdata]# cd ..
conf/zoo.cfg 文件中的 dataDir 参数指定目录下创建 myid 文件,里面内容为一个数字,用来 标识当前主机,conf/zoo.cfg 文件中配置的 server.X 中 X 是什么数字,则 myid 文件中就输入这个数字
6 配置zookeeper环境,更新
注意:不管安装任何软件,配置环境后都要刷新,否则后续操作丢回出问题
[root@storm03 zookeeper-3.4.13]# vim /etc/profile
export ZOOKEEPER_HOME=/home/softwares/zookeeper-3.4.13
export PATH=$PATH:$ZOOKEEPER_HOME/bin
[root@storm03 zookeeper-3.4.13]# source /etc/profile
7 启动zookeeper
[root@storm03 zookeeper-3.4.13]# zkServer.sh start
8 查看服务器是leader还是follwer
[root@storm03 zookeeper-3.4.13]# zkServer.sh status
9 关闭zookeeper(集群使用完毕后关闭集群)
[root@storm03 zookeeper-3.4.13]# zkServer.sh stop
说明:如果只是Zookeeper 集群安装,我们到这一步就可以了,但是,如果是要通过Zookeeper启动storm集群,运行storm项目的话,我们最好3个节点都回到主目录,cd ~,在主目录下启动Zookeeper,因为我们在启动Zookeeper时,会生成一个Zookeeper.out文件和一个storm-local目录,也就是说,我们在哪里启动Zookeeper,哪里就将产生这两个文件,为方便我们查找记录,还是统一在主目录下启动Zookeeper较好。
[root@storm03 zookeeper-3.4.13]# cd ~
[root@storm03 ~]# zkServer.sh start
[root@storm03 ~]# zkServer.sh stop