一、Zookeeper概述
ZooKeeper是一个开源的、分布式的应用程序协调服务。它提供的功能包括:命名服务、配置管理、集群管理、分布式锁、负载均衡、分布式队列等。
二、ZooKeeper的原理
ZooKeeper一个常用的使用场景是担任服务生产者和服务消费者的注册中心,这也是接下来的章节中会使用到的。服务生产者将自己提供的服务注册到ZooKeeper中心,服务消费者在进行服务调用的时候先到ZooKeeper中查找服务,获取服务生产者的详细信息之后,再去调用服务生产者的内容与数据,具体如图所示
三、前期准备工作
1. 需要三台银河麒麟V10 SP2服务器,配置如下
服务器名 | IP地址 | 操作系统 | 应用软件 |
zookeeper1 | 192.168.174.128 | Kylin Linux Advanced Server release V10 (SP2) | zookeeper |
zookeeper2 | 192.168.174.181 | Kylin Linux Advanced Server release V10 (SP2) | zookeeper |
zookeeper3 | 192.168.174.180 | Kylin Linux Advanced Server release V10 (SP2) | zookeeper |
2. 修改三台服务器的/etc/hosts
192.168.174.128 zookeeper1
192.168.174.181 zookeeper2
192.168.174.180 zookeeper3
3. 下载zookeeper源码安装包,这里我们下载的是3.4.49版本
http://zookeeper.apache.org
4. 将源码安装包上传到三台服务器的/usr/local下,并解压
cd /usr/local
tar -zxvf zookeeper-3.4.9.tar.gz
进入配置文件zoo.cfg进行修改
5. 新建data目录及myid文件
mkdir /usr/local/zookeeper-3.4.9/data
cd /usr/local/zookeeper-3.4.49/data #此刻三台服务器的myid不一样,分别设置
echo 0 > myid #(zookeeper1服务器myid为0)
echo 1 > myid #(zookeeper2服务器myid为1)
echo 2 > myid #(zookeeper3服务器myid为2)
6. 启动防火墙,开通防火墙端口
systemctl start firewalld
# 开放2181端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
# 开放3888端口
firewall-cmd --zone=public --add-port=3888/tcp --permanent
# 开放2888端口
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --reload
7. 在三台服务器上分别启动zookeeper
/usr/local/zookeeper-3.4.9/bin/zkServer.sh start
8. 查看zookeeper集群状态
/usr/local/zookeeper-3.4.9/bin/zkServer.sh status
节点1属于从服务
节点2属于主服务
节点3属于从服务
这样zookeeper集群就搭建好了!