CentOS7 Zookeeper集群版部署

目录

 

一、部署前准备

1、准备服务器

2、检查JDK是否安装

3、检查防火墙

二、下载Zookeeper安装包

三、解压安装包

四、复制zoo_sample.cfg生成zoo.cfg文件

五、修改zoo.cfg文件

六、在zookeeper数据目录下创建myid文件

七、修改myid文件内容

八、启动Zookeeper服务

九、查看Zookeeper服务运行状态

十、客户端连接Zookeeper服务

十一、验证集群环境的数据同步


一、部署前准备

1、准备服务器

准备三台Centos7服务器,此处使用的三台服务器IP分别为192.168.196.91、192.168.196.92、192.168.196.93。

2、检查JDK是否安装

zookeeper需要JDK环境,检查是否已经安装JDK

java -version

若没有安装JDK,请参考CentOS7安装JDK8

3、检查防火墙

可以选择关闭防火墙,也可以开放端口。

二、下载Zookeeper安装包

从Zookeeper官网下载Zookeeper:https://downloads.apache.org/zookeeper/zookeeper-3.4.14/

也可以从百度云盘下载,链接:https://pan.baidu.com/s/1kuESPhgDCcZt42dNSYqkGA ,提取码:9x4v

分别上传到三台服务器上

三、解压安装包

三台服务器上分别解压安装包

tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/

### 如何在 CentOS 7部署 Zookeeper 集群 #### 准备工作 为了成功安装并配置 Zookeeper 集群,在每台机器上都需要完成一些准备工作。确保所有节点的操作系统均为 CentOS 7 并已更新至最新本。 #### 安装 Java 环境 由于 Zookeeper 是基于 Java 的应用程序,因此需要先安装 JDK 或 JRE。可以使用如下命令来安装 OpenJDK: ```bash sudo yum install java-1.8.0-openjdk-devel.x86_64 -y ``` 验证安装是否成功的命令为 `java -version`[^2]。 #### 下载与解压 Zookeeper 前往官方下载页面获取最新的稳定 Zookeeper 发行包,并将其上传到各服务器上的相同路径下;也可以通过 wget 工具直接在线下载。接着执行 tar 解压缩操作: ```bash tar zxvf apache-zookeeper*.tar.gz && mv zookeeper-* /usr/local/zookeeper ``` 设置环境变量以便于全局调用 Zookeeper 脚本工具: ```bash echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> ~/.bashrc echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> ~/.bashrc source ~/.bashrc ``` #### 创建数据文件夹和日志文件夹 创建专门用于存储持久化状态以及事务日志的数据目录 `/data/zkData` 和日志目录 `/logs/zkLogs`: ```bash mkdir -p /data/zkData /logs/zkLogs chown -R zkUser:zkGroup /data/zkData /logs/zkLogs ``` 这里假设已经有一个名为 `zkUser` 用户及其所属组 `zkGroup` 存在于系统之中。 #### 修改配置文件 编辑位于 `$ZOOKEEPER_HOME/conf/` 文件夹下的 `zoo.cfg` 文件,添加必要的参数定义集群成员信息和其他选项。对于三节点组成的集群而言,至少要指定三个 server ID 及其对应的 IP 地址端口映射关系。例如: ```properties tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data/zkData clientPort=2181 server.1=znode1:2888:3888 server.2=znode2:2888:3888 server.3=znode3:2888:3888 ``` 其中 clientPort 表示客户端连接使用的默认端口号,默认情况下是 2181。而后面的 server.X 则表示第 X 个 Server 的地址及选举通信所用的两个不同端口 (follower/follower, leader/election)。 #### 设置 myid 文件 每个 Zookeeper 实例都必须知道自己在整个集群中的唯一身份编号(即上述配置里的 .X)。为此需分别向各个实例对应的数据目录内写入一个名为 "myid" 的纯文本文件,里面仅包含该实例的身份号码即可。比如针对上面的例子来说,则应该这样做: ```bash echo "1" > /data/zkData/myid # 对应 znode1 echo "2" > /data/zkData/myid # 对应 znode2 echo "3" > /data/zkData/myid # 对应 znode3 ``` 注意替换实际存在的主机名或IP地址。 #### 启动服务 当所有的前置条件都已经满足之后就可以依次启动每一个 Zookeeper 进程了。可以通过下面的方式来进行: ```bash $ZOOKEEPER_HOME/bin/zkServer.sh start ``` 确认进程正常运行的方法之一就是查看相应的日志输出或者利用 jps 命令检查是否有 QuorumPeerMain 类型的服务存在。 #### 测试集群功能 最后一步是要测试整个集群能否协同工作。这通常涉及到编写简单的程序去尝试建立会话、创建节点等基本操作来看看返回的结果是不是预期那样。当然也可以借助第三方图形界面管理工具如 ZooInspector 来辅助观察当前集群的状态变化情况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值