准备3台服务器(或更多的奇数台服务器)
我这里安装了3台虚拟机,IP地址分别是
192.168.1.232
192.168.1.200
192.168.1.233
虚拟机的安装,请参考Windows安装CentOS7
建议安装后切换一下yum源,否则后面的下载可能会出现问题,yum源切换参考:CentOS7更换yum源
安装JDK,参考:CentOS7安装OpenJDK
首先为所有服务器建立新用户
建立用户参考 CentOS7建立用户 和 CentOS7添加用户到sudoers
上面三台服务器我都建立了相同的 zookeeper 用户
修改每台机器的hostname名称,参考 CentOS7修改hostname
我这里对应ip的hostname分别是
192.168.1.232(zookeeper1)
192.168.1.200(zookeeper2)
192.168.1.233(zookeeper3)
修改每台机器的 /etc/hosts 文件,添加 IP 与主机名映射
- vi /etc/hosts
-
改完之后,用cat命令查看一下内容,确保每台服务器的hosts文件内容都是一样的
为每台服务器下载最新zookeeper文件到zookeeper用户目录中
首先切换用户为zookeeper
- su zookeeper
-
- cd /home/zookeeper/
-
- wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar.gz
-
在所有服务器中解压缩zookeeper文件,解压后的文件夹名称为zookeeper
- tar -zxvf zookeeper-3.4.9.tar.gz
-
- mv zookeeper-3.4.9 zookeeper
-
在所有服务器zookeeper目录中创建data、logs目录
- mkdir /home/zookeeper/zookeeper/data
-
- mkdir /home/zookeeper/zookeeper/logs
-
在所有服务器的zookeeper/conf目录中,copy一份zoo_sample.cfg,并重命名为zoo.cfg
- cp /home/zookeeper/zookeeper/conf/zoo_sample.cfg /home/zookeeper/zookeeper/conf/zoo.cfg
-
- vi /home/zookeeper/zookeeper/conf/zoo.cfg
-
- tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/zookeeper/zookeeper/data #修改这里
- dataLogDir=/home/zookeeper/zookeeper/logs #新增这里
- clientPort=2181
- server.1=zookeeper1:2881:3881 #新增这里
- server.2=zookeeper2:2881:3881 #新增这里
- server.3=zookeeper3:2881:3881 #新增这里
-
在所有服务器的zookeeper/data目录中,创建myid文件,并在里面编写对应的编号,例如hostname为zookeeper1的服务器,myid内容就是1;zookeeper2服务器的myid内容就是2,以此类推,这个地方的编号,参考的是zoo.cfg中server.n的配置
- vi /home/zookeeper/zookeeper/data/myid
-
使用cat命令查看如下
到此zookeeper已经安装完毕,下面分别启动所有服务器的zookeeper服务
- cd ~
-
- /home/zookeeper/zookeeper/bin/zkServer.sh start
-
所有服务器启动完毕后,可以看到
Starting zookeeper ... STARTED
然后可以通过status命令,查看当前服务器的状态
- /home/zookeeper/zookeeper/bin/zkServer.sh status
-
可以看到下面两种信息,follower表示此节点为从节点,leader表示此节点为主节点
Mode: follower
Mode: leader
停止服务,需要分别在所有服务器中执行
/home/zookeeper/zookeeper/bin/zkServer.sh stop