-
下载zookeeper安装包
下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz -
环境准备
1. 准备三台虚拟机
2. 每台机器上都安装好jdk环境
3. 全网统一hosts映射配置
4. 关闭防火墙 -
上传zookeeper安装包
https://blog.csdn.net/weixin_37490221/article/details/80844825
-
解压
[root@hadoop05 local]# tar -zxvf zookeeper-3.4.6.tar.gz [root@hadoop05 local]# ln -s zookeeper-3.4.6 zookeeper (建立软连接)
-
删除多余的文件(可忽略)
[root@hadoop05 zookeeper]# rm -rf *.txt *.xml docs/ src/ dist-maven/ [root@hadoop05 zookeeper]# ll total 1344 drwxr-xr-x 2 1000 1000 4096 Feb 20 2014 bin drwxr-xr-x 2 1000 1000 4096 Feb 20 2014 conf drwxr-xr-x 10 1000 1000 4096 Feb 20 2014 contrib drwxr-xr-x 4 1000 1000 4096 Feb 20 2014 lib drwxr-xr-x 5 1000 1000 4096 Feb 20 2014 recipes -rw-rw-r-- 1 1000 1000 1340305 Feb 20 2014 zookeeper-3.4.6.jar -rw-rw-r-- 1 1000 1000 836 Feb 20 2014 zookeeper-3.4.6.jar.asc -rw-rw-r-- 1 1000 1000 33 Feb 20 2014 zookeeper-3.4.6.jar.md5 -rw-rw-r-- 1 1000 1000 41 Feb 20 2014 zookeeper-3.4.6.jar.sha1
-
设置环境变量
注意:每台zookeeper都需要修改- 打开环境变量配置文件
[root@hadoop05 zookeeper]# vim /etc/profile
- 修改环境变量,在profile文件中加入下面内容
#set zookeeper environment export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:${ZOOKEEPER_HOME}/bin
- 加载配置文件,使之生效
source /etc/profile
- 打开环境变量配置文件
-
修改Zookeeper配置文件
[root@hadoop05 conf]# cp zoo_sample.cfg zoo.cfg [root@hadoop05 conf]# vim zoo.cfg
dataDir=/usr/local/zookeeper/zkdata #此目录很重要,存放zookeeper的id号 server.1=mini1:2888:3888 #(心跳端口、选举端口) server.2=mini2:2888:3888 server.3=mini3:2888:3888
-
创建文件夹,并在该文件下创建myid文件
[root@hadoop05 zookeeper]# mkdir zkdata [root@hadoop05 zookeeper]# cd zkdata/ [root@hadoop05 zkdata]# echo 1 > myid [root@hadoop05 zkdata]# cat myid 1
-
分发安装包到其他机器
[root@hadoop05 local]# scp -r /usr/local/zookeeper root@hadoop06:/usr/local/ [root@hadoop05 local]# scp -r /usr/local/zookeeper root@hadoop07:/usr/local/ ...
-
修改其他机器的配置文件
hadoop06上修改myid为:2
hadoop07上修改myid为:3 -
启动(每台机器)
[root@hadoop07 local]# zookeeper/bin/zkServer.sh start JMX enabled by default Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
-
zookeeper集群启动脚本
#! /bin/bash case $1 in "start"){ for i in hadoop05 hadoop06 hadoop07 do ssh $i "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh start" done };; "stop"){ for i in hadoop05 hadoop06 hadoop07 do ssh $i "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh stop" done };; "status"){ for i in hadoop05 hadoop06 hadoop07 do ssh $i "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh status" done };; esac
-
配置文件zoo.cfg参数说明
参数 参数 tickTime 这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。 initLimit 这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。 syncLimit 这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。 dataDir 顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里。 clientPort A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。 server.A=B:C:D A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。
Linux下部署zookeeper集群
最新推荐文章于 2024-05-02 00:41:18 发布