Zookeeper集群部署
Zookeeper集群部署
环境说明
主机列表
IP地址 | 主机名 | 操作系统 |
---|---|---|
192.168.159.130 | node01 | debian 9.6 |
192.168.159.131 | node02 | debian 9.6 |
192.168.159.132 | node03 | debian 9.6 |
JDK
因为Oracle变更了Java的使用授权方式,所以使用OpenJDK
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
zookeeper
Zookeeper版本:zookeeper-3.4.13
部署过程
下载并解压
在三台主机执行以下操作
$ mkdir ~/Downloads
$ cd ~/Downloads
$ wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
$ wget http://mirrors.shu.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
$ sudo tar xf openjdk-11.0.1_linux-x64_bin.tar.gz -C /usr/local/
$ sudo tar xf zookeeper-3.4.13.tar.gz -C /opt/
$ sudo mkdir -p /opt/zookeeper-3.4.13/data
$ sudo mkdir -p /opt/zookeeper-3.4.13/logs
$ sudo chown -R 用户名:用户组 /opt/zookeeper-3.4.13/
请用实际的用户名和用户组替换命令中的部分
修改环境变量
在三台主机执行以下操作
修改/etc/profile
文件,追加以下内容,并注销后重新登陆
export JAVA_HOME=/usr/local/jdk-11.0.1
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.13
export PATH=$ZOOKEEPER_HOME/bin:$PATH
修改hosts
在三台主机执行以下操作
$ sudo vim /etc/hosts
追加以下内容
192.168.159.130 node01
192.168.159.131 node02
192.168.159.132 node03
如果hosts文件中存在
127.0.1.1 主机名
这样的配置,请删除。关于127.0.1.1的内容,参见 what does 127.0.1.1 mean ???
修改配置文件
在三台主机执行以下操作
$ cp /opt/zookeeper-3.4.13/conf/zoo_sample.cfg /opt/zookeeper-3.4.13/conf/zoo.cfg
修改文件内容
$ vim /opt/zookeeper-3.4.13/conf/zoo.cfg
注释掉以下内容
# dataDir=/tmp/zookeeper
追加如下内容
dataDir=/opt/zookeeper-3.4.13/data
dataLogDir=/opt/zookeeper-3.4.13/logs
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
修改zookeeper.out日志输出目录
$ vim /opt/zookeeper-3.4.13/bin/zkEnv.sh
在命令模式输入:56
跳转到56行
修改以下内容:
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/opt/zookeeper-3.4.13/logs/" # 修改此行内容
fi
生成myid
在三台主机分别执行以下操作
$ echo 'x' > /opt/zookeeper-3.4.13/data/myid
注意,此处用配置文件中的
server.
后面的数字替换命令中的x
。
启动集群
在三台主机执行以下操作
$ zkServer.sh start
查看集群状态
$ zkServer.sh status
使用zkCli.sh验证
$ zkCli.sh
.
. 此处有日志输出
.
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]
如上,zookeeper集群构建完成。