二、ZooKeeper集群搭建

目录

1、概述

2、安装

[2.1 第一步:下载zookeeeper压缩包](#2.1 第一步:下载zookeeeper压缩包)

[2.2 第二步:解压](#2.2 第二步:解压)

[2.3 第三步:修改配置文件](#2.3 第三步:修改配置文件)

[2.4 第四步:添加myid配置](#2.4 第四步:添加myid配置)

[​​​​​​​2.5 第五步:安装包分发并修改myid的值](#2.5 第五步:安装包分发并修改myid的值)

[​​​​​​​2.6 第六步:三台机器启动zookeeper服务](#2.6 第六步:三台机器启动zookeeper服务)

[​​​​​​​2.7 配置Path环境变量](#2.7 配置Path环境变量)


1、概述

Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1 台server组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。

2、安装

Zookeeper运行需要java环境,所以需要提前安装jdk 。对于安装leader+follower模式 的集群,大致过程如下:

  1. 配置主机名称到IP地址映射配置
  2. 修改ZooKeeper配置文件
  3. 远程复制分发安装文件
  4. 设置myid
  5. 启动ZooKeeper集群

如果要想使用Observer模式,可在对应节点的配置文件添加如下配置:

peerType=observer

其次,必须在配置文件指定哪些节点被指定为Observer,如:

server.1:node1:2181:3181:observer

其次,必须在配置文件指定哪些节点被指定为 Observer,如:
server.1:localhost:2181:3181:observer

这里,我们安装的是leader+follower模式

|----------------|-------|--------|
| 服务器IP | 主机名 | myid的值 |
| 192.168.88.161 | node1 | 1 |
| 192.168.88.162 | node2 | 2 |
| 192.168.88.163 | node3 | 3 |

2.1 第一步:下载zookeeeper压缩包

下载网址: Index of /dist/zookeeper

我们在这个网址下载我们使用的zk版本为3.4.6

下载完成之后,上传到我们的linux的/export/software路径下准备进行安装

​​​​​​​2.2 第二步: 解压

在node1主机上,解压zookeeper的压缩包到/export/server路径下去,然后准备进行安装

|--------------------------------------------------------------------------------------------------------------|
| cd / export**/** software tar - zxvf zookeeper-3.4.6.tar.gz -C / export**/** server**/** |

​​​​​​​2.3 第三步 :修改 配置 文件

在node1主机上,修改配置文件

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| cd / export**/** server**/** zookeeper-3.4.6**/** conf**/** cp zoo_sample.cfg zoo.cfg mkdir -p / export**/** server**/** zookeeper-3.4.6**/** zkdatas**/** vim zoo.cfg |

修改以下内容

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| #Zookeeper的数据存放目录 dataDir**=/** export**/** server**/** zookeeper-3.4.6**/** zkdatas # 保留多少个快照 autopurge.snapRetainCount**=** 3 # 日志多少小时清理一次 autopurge.purgeInterval**=** 1 # 集群中服务器地址 server.1**=** node1**:** 2888**:** 3888 server.2**=** node2**:** 2888**:** 3888 server.3**=** node3**:** 2888**:** 3888 |

​​​​​​​2.4 第四步 : 添加 myid配置

在node1主机的/export/server/zookeeper-3.4.6/zkdatas/这个路径下创建一个文件,文件名为myid ,文件内容为1

|----------------------------------------------------------------------------------------|
| echo 1 > / export**/** server**/** zookeeper-3.4.6**/** zkdatas**/** myid |

​​​​​​​2.5 第五步 : 安装包 分发 并 修改myid的值

在node1主机上,将安装包分发到其他机器

第一台机器上面执行以下两个命令

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| scp -r / export**/** server**/** zookeeper-3.4.6**/** node2**:/** export**/** server**/** scp -r / export**/** server**/** zookeeper-3.4.6**/** node3**:/** export**/** server**/** |

第二台机器上修改myid的值为2

|----------------------------------------------------------------------------------------|
| echo 2 > / export**/** server**/** zookeeper-3.4.6**/** zkdatas**/** myid |

第三台机器上修改myid的值为3

|----------------------------------------------------------------------------------------|
| echo 3 > / export**/** server**/** zookeeper-3.4.6**/** zkdatas**/** myid |

​​​​​​​2.6 第六步 : 三台 机器 启动zookeeper 服务

三台机器分别启动zookeeper服务

这个命令三台机器都要执行

|-------------------------------------------------------------------------------|
| / export**/** server**/** zookeeper-3.4.6**/** bin**/** zkServer.sh start |

三台主机分别查看启动状态

|--------------------------------------------------------------------------------|
| / export**/** server**/** zookeeper-3.4.6**/** bin**/** zkServer.sh status |

​​​​​​​2.7 配置Path环境变量

1:分别在三台中,修改/etc/proflie,添加以下内容

export ZOOKEEPER_HOME=/export/server/zookeeper-3.4.6

export PATH=:ZOOKEEPER_HOME/bin:PATH

2:分别在三台主机中,source /etc/profile

至此,ZooKeeper集群搭建完毕。

【下一章】

三、Zookeeper数据模型

【往期回顾】

​​​​​​​一、Zookeeper基本知识

相关推荐
磁场转动100万匹11 小时前
Spark Core 核心原理:从 RDD 到分布式计算
大数据·分布式·spark
强哥聊算力11 小时前
《算力江湖·DeepSeek》第四集:DeepSeek如何改变中国算力的采购逻辑?
大数据·运维·人工智能·ai·gpu算力
承渊政道11 小时前
新增一台服务器时还要重新装Nginx?Ansible只改hosts目标列表,同一份Playbook继续执行
运维·nginx·ansible·内网穿透·cpolar
德迅云安全-上官11 小时前
服务器遭攻击如何快速响应?从技术原理到接入防御架构的实战指南
运维·服务器·架构
我命由我1234511 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee
A-刘晨阳12 小时前
同一句需求优化前后差多少?Prompt Optimizer先整理提示词,再用同一个模型直接对比结果
运维·prompt·cpolar
李纲明12 小时前
WordPress 结账页一直转圈不跳支付:AJAX、缓存排除、支付回调和 REST 怎么逐层核
运维·ajax·缓存·wordpress·woocommerce·devdiy·结账
fengkai454512 小时前
7、Kubernetes的Ingress&Network&Scheduler
运维·kubernetes·k8s·ingress·network·scheduler
码农客栈12 小时前
mt7601u移植
linux·运维·服务器
ZhengEnCi12 小时前
内存装不下怎么取 Top 100:外部排序与分布式 Top-K 的实测取舍
分布式·算法·排序算法