zk集群搭建

转载:https://blog.youkuaiyun.com/liu_zhaoming/article/details/79332232

准备环境

服务器1:192.168.241.101 paascloud-zk-01 端口:2181、2881、3881
服务器2:192.168.241.102 paascloud-zk-02 端口:2182、2882、3882
服务器3:192.168.241.103 paascloud-zk-03 端口:2183、2883、3883
jdk version jdk8.144
zk version 3.4.11

1.安装

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.11/
tar -zxvf zookeeper-3.4.11.tar.gz /usr/local/tar -zxvf zookeeper-3.4.11.tar.gz /usr/local
mv zookeeper-3.4.11 zk
mkdir /usr/local/zk/data
mkdir /usr/local/zk/logs
  
  • 1
  • 2
  • 3
  • 4
  • 5

配置

mkdir /usr/local/zk/data
mkdir /usr/local/zk/logs
mv /usr/local/zk/conf/zoo_sample.cfg zoo.cfg
vi zoo.cfg
dataDir=/usr/local/zk/data
dataLogDir=/usr/local/zk/logs
server.1=paascloud-zk-01:2881:3881
server.2=paascloud-zk-02:2882:3882
server.3=paascloud-zk-03:2883:3883
autopurge.snapRetainCount=3
touch /usr/local/zk/data/myid
三台服务顺序 按顺序 一次写入1 2 3
echo 1 > /var/data/zk/myid
echo 1 > /var/data/zk/myid
echo 1 > /var/data/zk/myid
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

启动服务

/usr/local/zk/bin/zkServer.sh start
  
  • 1

查看三台服务器的状态

/usr/local/zk/bin/zkServer.sh status
  
  • 1

服务器1

ZooKeeper JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Mode: follower

  
  • 1
  • 2
  • 3
  • 4

服务器2

ZooKeeper JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Mode: leader
  
  • 1
  • 2
  • 3

服务器3

ZooKeeper JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Mode: follower

  
  • 1
  • 2
  • 3
  • 4

到此集群搭建成功

### Zookeeper 集群配置与使用 #### 一、Zookeeper 集群概述 Zookeeper 是一种分布式协调服务,用于维护配置信息、命名、提供分布式同步以及组服务等功能。它通过一个简单的协议来实现这些功能,并支持高可用性和一致性。 为了构建一个可靠的 Zookeeper 集群,通常需要至少三个节点(奇数个更佳),以便在部分节点失效的情况下仍能正常工作[^1]。 --- #### 二、安装与部署流程 ##### 1. 下载并解压软件包 从官方站点下载已编译好的版本(带有 `bin` 的压缩包)。以下是具体操作命令: ```bash wget https://dlcdn.apache.org/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz tar -zxvf apache-zookeeper-3.5.10-bin.tar.gz ``` 完成解压后,进入解压后的目录,该目录即为 Zookeeper 安装路径[^2]。 --- ##### 2. 创建数据存储目录 创建用于保存持久化数据的目录,例如 `/soft/data/tmp/zookeeper/` 或其他自定义位置。如果未指定磁盘分区,默认会基于当前运行环境所在的根目录创建子文件夹。 ```bash mkdir -p /soft/data/tmp/zookeeper/ ``` 此步骤中的路径可以调整至适合实际需求的位置,但需确保各服务器间的一致性[^3]。 --- ##### 3. 复制并修改配置文件 将示例配置文件复制到正式使用的名称下: ```bash cp zoo_sample.cfg zoo.cfg ``` 随后编辑 `zoo.cfg` 文件,在其中设置必要的参数,比如: - **tickTime**: 基本时间单位,通常是 2000ms; - **initLimit**: 跟随者初始化连接的时间限制; - **syncLimit**: 跟随者与领导者之间的同步时间上限; - **dataDir**: 数据存储的具体路径; - **server.x**: 每台机器对应的 ID 和地址列表。 样例如下: ```properties tickTime=2000 initLimit=10 syncLimit=5 dataDir=/soft/data/tmp/zookeeper clientPort=2181 server.1=hadoop102:2888:3888 server.2=hadoop103:2888:3888 server.3=hadoop104:2888:3888 ``` 上述配置中,每台主机都需要分配唯一的编号作为其身份标识[^2]。 --- ##### 4. 同步配置文件至其他节点 利用 SCP 工具把本地更改过的配置分发给其余成员节点: ```bash scp -r zoo.cfg root@hadoop103:/opt/zookeeper/conf/zoo.cfg scp -r zoo.cfg root@hadoop104:/opt/zookeeper/conf/zoo.cfg ``` 这一步骤保证所有参与方拥有相同的设定值集合。 --- ##### 5. 初始化 myid 文件 在之前定义的数据目录里新建名为 `myid` 的纯文本档案,写入对应于当前实例的身份号码。例如对于 hadoop102 来说就是 “1”,以此类推。 ```bash echo "1" > /soft/data/tmp/zookeeper/myid ssh hadoop103 'echo "2" > /soft/data/tmp/zookeeper/myid' ssh hadoop104 'echo "3" > /soft/data/tmp/zookeeper/myid' ``` 这是区分不同集群组件的关键标志之一。 --- #### 三、启动与验证 依次开启各个节点上的服务进程: ```bash ./zkServer.sh start ``` 确认状态是否健康可执行如下指令查看汇总情况: ```bash ./zkCli.sh -server localhost:2181 ls / ``` 若返回预期的结果集,则表明搭建成功。 --- ### 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值