目录
Zookeeper简介
Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。
Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。
一、环境说明
- 系统信息
3台Linux虚拟机
系统: centos7
# 主机名称,ip地址
master: 192.168.61.132
slaver1: 192.168.61.130
slaver2: 192.168.61.131 - 下载地址
https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
二、开始部署
-
配置hostname
三台机器都需要,以root用户登录centos系统,分别修改主机名名称,重启生效
su root
vi /etc/hostname -
配置hosts
vi /etc/hosts -
下载安装zookeeper
cd /usr/local
mkdir services
cd services
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
tar -zxvf zookeeper-3.4.10.tar.gz
mv zookeeper-3.4.10 zookeeper -
zookeeper节点配置环境变量
vim /etc/profile# zookeeper
export ZK_HOME=/usr/local/services/zookeeper
export PATH=$ZK_HOME/bin:$PATH
最后使环境变量立即生效
source /etc/profile -
修改配置文件
修改zookeeper中conf目录下的zoo_sample.cfg为zoo.cfg
cd /usr/local/services/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
#(1)修改dataDir
dataDir=/usr/local/services/zookeeper/data
#(2)修改dataLogDir
dataLogDir=/usr/local/services/zookeeper/logs
#(3)添加server0,server1,server2server.0=master:2888:3888
server.1=slaver1:2888:3888
server.2=slaver2:2888:3888 -
创建myid
cd /usr/local/services/zookeeper/
mkdir data
mkdir logs
cd data/
vi myid
master修改为0,slaver1修改为1,slaver2修改为2
#注:这里的0,1,2分别对应zoo.cfg中的server.0,server.1,server.2 -
启动zookeeper
三台服务器必须都要执行启动命令
zkServer.sh start
查看zookeeper状态的命令
zkServer.sh status -
注意事项
1.zookeeper 喜欢奇数不喜欢偶数,至少要3台服务器才能启动
2.防火墙必须关闭或者开放端口
#centos7 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
3.也可以使用scp命令先分别拷贝到slaver1,slaver2,然后再分别修改
scp -r /usr/local/services/zookeeper root@slaver1:/usr/local/services/zookeeper
scp -r /usr/local/services/zookeeper root@slaver1:/usr/local/services/zookeeper