Zookeeper 安装部署


官方

官方网站

文件下载


1、Zookeeper 简介

ZooKeeper是一个分布式的,分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件。(来源百度百科

Zookeeper特点

  1. 一个 Leader 多个 Follower 组成的集群;
  2. 集群中只要有半数以上节点存活,Zookeeper 集群就能正常服务;
  3. 全局数据一致:每个 Server 保存一份相同的数据副本, Client 无论链接到哪里 Server,数据都是一致的;
  4. 更新请求顺序进行,来自同一个 Client 的更新请求按期发送顺序依次执行;
  5. 数据更新原子性,一次数据更新要么成功,要么失败;
  6. 实时性,在一定时间范围内,Client 能读到最新数据。

Zookeeper 提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡。

2、安装部署

2.1、环境说明

操作系统:CentOS Linux release 7.6.1810 (Core)

操作系统安装包:CentOS-7-x86_64-Minimal-1810.iso

JDK 版本:1.8

JDK 安装包:jdk-8u261-linux-x64.rpm

Zookeeper 版本:3.6.3

Zookeeper 安装包:apache-zookeeper-3.6.3.tar.gz

2.2、本地模式安装部署(单机)

安装 jdk

# 安装 jdk
rpm -ivh jdk-8u261-linux-x64.rpm
# 查看版本
java -version

上传文件&解压

# 创建目录
mkdir /opt/module
# 解压
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/module/

修改配置

# 进入目录
cd /opt/module/apache-zookeeper-3.6.3-bin
# 创建目录
mkdir zkData
# 进入配置文件目录
cd conf
# 复制配置文件,默认读取 zoo.cfg
cp zoo_sample.cfg zoo.cfg
# 编辑配置文件
vi zoo.cfg

zoo.cfg 中需要修改的内容

# 数据目录(可以不更改)
dataDir=/opt/module/apache-zookeeper-3.6.3-bin/zkData

启动服务

# 进入 bin 目录
cd /opt/module/apache-zookeeper-3.6.3-bin/
# 启动服务
bin/zkServer.sh start
# 查看是否启动
jps
# 查看端口占用情况(用于判断服务是否正常启动)
ss -ntl|grep 2181
# 查看状态
bin/zkServer.sh status

# 启动客户端
bin/zkCli.sh
# 查看目录下的文件
ls /
# 退出客户端
quit

# 停止服务
bin/zkServer.sh stop

2.3、分布式安装部署

说明:Zookeeper 集群中只要有半数以上节点存活,Zookeeper 集群就能正常服务。因此,Zookeeper 集群最少需要 3 台服务器。(2台服务器组成的集群,其中1台宕机,集群则会宕机了。)

需要注意:以下安装步骤,除 myid 中写入的数字不同,其他操作 3台服务器相同即可。

安装 jdk

# 安装 jdk
rpm -ivh jdk-8u261-linux-x64.rpm
# 查看版本
java -version

上传文件&解压

# 创建目录
mkdir /opt/module
# 解压
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/module/

修改配置

# 进入 bin 目录
cd /opt/module/apache-zookeeper-3.6.3-bin
# 创建数据目录
mkdir zkData
# 配置服务器编号(唯一标识)
cd zkData
# 创建 myid 文件
touch myid
# 编辑 myid 文件
vi myid
# 每台服务器写入唯一不同的标识(数字)

# 配置
cd /opt/module/apache-zookeeper-3.6.3-bin/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

zoo.cfg 中需要修改的内容(3台服务器相同)

# 数据目录
dataDir=/opt/module/apache-zookeeper-3.6.3-bin/zkData
# 配置集群中 3 台服务器的信息
# server.A=B:C:D
# A 是一个数字,表示这个是第几号服务器,对应 myid 中的数字
# B 是这个服务器的 IP 地址
# C 是这个服务器与集群中的 Leader 服务器交换信息的端口
# D 是万一服务器集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通讯的接口
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888

开放端口

# 查看端口开放情况
firewall-cmd --zone=public --list-ports
# 开放端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service

启动服务

# 进入 bin 目录
cd /opt/module/apache-zookeeper-3.6.3-bin/
# 启动服务
bin/zkServer.sh start
# 查看是否启动
jps
ss -ntl|grep 2181
# 查看状态(Mode: leader 或 Mode: follower)
bin/zkServer.sh status

# 启动客户端
bin/zkCli.sh
# 查看目录下的文件
ls /
# 退出客户端
quit

# 停止服务
bin/zkServer.sh stop

总结

Zookeeper 单机部署比较简单,集群部署也不算太复杂。注意细节即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值