文章目录:
▶ 单机环境搭建
▶ 设置zookeeper为开机服务
▶ 集群环境搭建

单机环境搭建

要求:
依赖Java环境

单机搭建过程:
进入到/opt目录下,创建zookeeper 文件夹

cd   /opt
mkdir zookeeper

zookeeper能单机吗_配置文件


进入到zookeeper文件夹下下载zookeeper包

或者手动下载地址:

https://www-eu.apache.org/dist/zookeeper/

cd   zookeeper
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

zookeeper能单机吗_zookeeper能单机吗_02


解压zookeeper-3.4.14.tar.gz文件

tar -zvxf zookeeper-3.4.14.tar.gz

进入配置文件目录

zookeeper能单机吗_配置文件_03


重命名zoo_sample.cfg配置文件

zoo_sample.cfg 这个文件是官方给我们的zookeeper的样板文件,给他复制一份命名为zoo.cfg,zoo.cfg是官方指定的文件命名规则

cp zoo_sample.cfg zoo.cfg

zookeeper能单机吗_服务器_04


进入到/opt/zookeeper/zookeeper-3.4.14目录下新建data和logs两个文件夹

cd   /opt/zookeeper/zookeeper-3.4.14
mkdir data
mkdir logs

zookeeper能单机吗_配置文件_05


修改zoo.cfg 配置文件

cd conf
vi zoo.cfg
#输入以下内容:
dataDir=/opt/zookeeper/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.14/logs
#退出并保存
先按ESC键,输入:wq!回车

zookeeper能单机吗_服务器_06


进入到bin目录,启动zookeeper

./zkServer.sh start

zookeeper能单机吗_zookeeper_07


利用 ./zkServer.sh status 查看当前zookeeper的状态

./zkServer.sh status

zookeeper能单机吗_zookeeper能单机吗_08


至此,zookeeper的单机版搭建成功。

设置开机启动

进入到 /etc/rc.d/init.d 目录下 ,新建一个名为 zookeeper 的文件

cd   /etc/rc.d/init.d 
mkdir zookeeper
touch zookeeper

zookeeper能单机吗_服务器_09


编辑zookeeper文件,把文件修改为 :

vi zookeeper

内容如下:

#!/bin/bash  
#chkconfig: 2345 10 90  
#description: service zookeeper  
export  JAVA_HOME=/opt/java8/jdk1.8.0_171  
export  ZOO_LOG_DIR=/opt/zookeeper/zookeeper-3.4.14/logs 
ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.14  
su    root    ${ZOOKEEPER_HOME}/bin/zkServer.sh      "$1"

退出并保存 ,为新建的/etc/rc.d/init.d/zookeeper文件添加可执行权限

chmod  +x  /etc/rc.d/init.d/zookeeper

把zookeeper这个脚本添加到开机启动项里面

chkconfig  --add  zookeeper

最后重启linux

reboot

重启之后 ,使用如下命令,查看zookeeper是否启动

service  zookeeper  status

集群环境搭建

下载:
https://www-eu.apache.org/dist/zookeeper/ https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz环境配置:

Linux服务器1:192.168.73.181
Linux服务器2:192.168.73.182
Linux服务器3:192.168.73.183

搭建过程:
进入到opt目录下,新建zookeeper目录,下载zookeeper文件

wget https://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

解压zookeeper文件

tar -zvxf zookeeper-3.4.14.tar.gz

重命名zoo_sample.cfg配置文件

cp zoo_sample.cfg zoo.cfg

进入到/opt/zookeeper/zookeeper-3.4.14目录下新建data和logs两个文件夹

cd /opt/zookeeper/zookeeper-3.4.14
mkdir data
mkdir logs

复制并修改zookeeper配置文件

cd conf
vi zoo.cfg
#输入以下内容:
dataDir=/opt/zookeeper/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper/zookeeper-3.4.14/logs

增加如下配置:
server.1=192.168.73.181:2888:3888
server.2=192.168.73.182:2888:3888
server.3=192.168.73.183:2888:3888

解读:
Server.A=B:C:D
A 是一个数字,表示这个是第几号服务器
B 是这个服务器的 ip 地址
C 是这个服务器与集群中的 Leader 服务器交换信息的端口
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口

#退出并保存
先按ESC键,输入:wq!回车
  • 集群模式下配置一个文件 myid,这个文件在 data目录下,这个文件里面有一个数据就是 A 的值,Zookeeper
    启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server

切换到data目录下,创建一个 myid 的文件

touch myid

文件中添加与 server 对应的编号:如 2

其他服务器同上操作
分别启动zookeeper

./zkServer.sh start

开启端口号

/sbin/iptables -I INPUT -p tcp --dport 2888  -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 3888  -j ACCEPT

分别查看zookeeper集群状态

./zkServer.sh status

登录zookeeper客户端

./zkCli.sh

参考链接 :

zookeeper单机和集群搭建过程详细步骤:
https://mp.weixin.qq.com/s/F3NjmyjpSr4xJITGUbnbfg