在滴滴云 DC2 云服务器上搭建 ZooKeeper 集群实战(一)

本文详细介绍了ZooKeeper的单机版和集群版搭建过程,包括硬件和软件准备、ZooKeeper获取、目录创建、配置文件修改、启动及状态查看等步骤。

ZooKeeper 简介

ZooKeeper 是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。

ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。

Hadoop、Storm、消息中间件、RPC 服务框架、分布式数据库同步系统,这些都是 ZooKeeper 的应用场景。

ZooKeeper 搭建

准备工作

1.硬件准备

根据 ZooKeeper 的选举算法,集群搭建需要 2n+1 台机器。我们在滴滴云上购买三台 DC2,只有一台 DC2 需要 EIP,我们把这台 DC2 作为跳板机及集群中的一个节点,另外两台机器可以不用购买 EIP。

本文选择三台广州一区 1 核、1G 内存、40G 高效云盘的通用型 DC2、一个 1M 的 EIP。

EIP 绑定其中的一台 DC2,三台机器通过内网链接。

2.软件准备

本文选择的是 CentOS7.5 镜像。

确保这三台机器安装好 Java 环境,本文选择的是 jdk1.8.0_191 版本。

ZooKeeper 单机版搭建

1.获取 ZooKeeper

可以去 ZooKeeper 官网选择版本下载, 本文选择的是 ZooKeeper3.4.9 版本。由于本文选购的是 1M 带宽的 EIP,所以加载速度略慢,耐心等待。

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
2.创建 ZooKeeper 目录

此目录为 ZooKeeper 解压目录:

sudo mkdir /zookeeper
3.解压 ZooKeeper 至目标目录
sudo tar -zxf zookeeper-3.4.9.tar.gz -C /zookeeper
4.进入 ZooKeeper 的目录,创建 ZooKeeper 的数据目录和日志目录
cd /zookeeper/zookeeper-3.4.9
mkdir data
mkdir logs
5.配置文件创建

进入 ZooKeeper 的配置文件目录,该目录下自带 sample 版本的配置文件。创建zookeeper的配置文件,本文以 sample 版本进行修改。

cd /zookeeper/zookeeper-3.4.9/conf
cp zoo_sample.cfg zoo.cfg
6.修改配置文件
一个普通标题一个普通标题
tickTime心跳间隔时间
initLimit集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)
syncLimit集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数
dataDir数据信息
dataLogDir日志信息
clientPortzookeeper对外暴露的端口
admin.serverPort管理控制台端口
server.id=host:port:port集群配置时,第一个端口是用于集群节点间的通讯,比如接收更新数据的命令,特殊的使用场景是集群的follower使用这个端口连接到leader;第二个端口用于集群的leader选举流程

对 zoo.cfg 文件进行修改,如下图进行配置修改:

在这里插入图片描述

7.启动 ZooKeeper
sudo sh /zookeeper/zookeeper-3.4.9/bin/zkServer.sh start

查看当前 ZooKeeper 状态:

sh /zookeeper/zookeeper-3.4.9/bin/zkServer.sh status

在这里插入图片描述

如图,当前的模式为 standalone。至此,ZooKeeper 单机版搭建完毕。

ZooKeeper 集群版搭建

1.配置文件修改

如单机版操作步骤相同,对三台机器分配安装 ZooKeeper。如下图对三台实例的配置文件做修改。分别对应三台实例的内网 IP。

在这里插入图片描述

2.myid 文件

/zookeeper/zookeeper-3.4.9/data 目录下创建文本文件 myid,每个实例记录当前机器安排的实例编号,即 server.{id} 中的 id

3.三台机器分别执行如下命令
sudo sh /zookeeper/zookeeper-3.4.9/bin/zkServer.sh start

三台机器中执行如下命令可看到对应实例的状态。其中两个实例的模式是 follower,一个实例的模式是 leader。

sh /zookeeper/zookeeper-3.4.9/bin/zkServer.sh status

至此,ZooKeeper 选举完毕,可以对外提供服务。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

ZooKeeper 的搭建过程相对简单,过程中遇到问题可以在 ZooKeeper.out 中查看启动日志寻找解决办法。

本文介绍了一个简单的 ZooKeeper 集群的搭建方法,更深层次的应用可查看 ZooKeeper 官方文档。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值