ZooKeeper 实战(一) 超详细的单机与集群部署教程(MacOS)

这篇具有很好参考价值的文章主要介绍了ZooKeeper 实战(一) 超详细的单机与集群部署教程(MacOS)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ZooKeeper 实战(一) 超详细的单机与集群部署教程(MacOS)

0. ZooKeeper简介

ZooKeeper是一个提供包括配置维护、域名服务、分布式同步、组服务等功能的集中式服务。主要功能如下:

  1. 分布式锁:Zookeeper可以帮助开发人员实现分布式锁,用于控制多个节点的并发访问。通过Zookeeper的原子广播和顺序一致性特性,可以实现高效且可靠的分布式锁。

  2. 配置管理:在分布式系统中,节点的配置信息可能需要动态地更改和共享。Zookeeper提供了一个简单而可靠的方式来实现配置的管理,开发人员可以将配置信息存储在Znode中,当配置发生变化时,Zookeeper会及时通知相关的节点。

  3. 命名服务:分布式系统中的节点通常需要有一个唯一的标识符来进行识别。Zookeeper可以提供一个简单的命名服务,根据节点的名称和路径来唯一标识每个节点。

  4. 分布式队列:Zookeeper可以帮助实现分布式系统中的队列功能,多个节点可以通过Zookeeper来访问和操作一个队列。Zookeeper提供了有序的Znode树特性,可以确保队列中的元素按照先进先出的顺序进行处理。

  5. 服务发现:在分布式系统中,节点需要能够发现和连接到其他相关的服务。Zookeeper提供了服务注册和发现的功能,可以帮助节点快速地发现和连接到其他需要的服务。

详细介绍可前往ZooKeeper官网地址。

1. 单机部署

1.1. ZooKeeper下载安装

官方推荐的稳定版本

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(1)前往ZooKeeper官方下载地址选择稳定版本(官方文档中带有Release的版本号),如下图所示,博主选择版本3.7.2。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(2)选择二进制版本,即以-bin结尾的文件下载。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(3)下载完成后解压,并重命名文件夹为zk1。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

1.2. 修改配置文件

(1)打开终端,进入conf目录,将zoo_sample.cfg 复制一份并重命名为zoo.cfg。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(2)输入 vim zoo.cfg 编辑zoo.cfg配置文件,修改数据和日志存放目录。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

1.3. 启动服务端

进入bin目录,输入./zkServer.sh start启动服务端。最后显示Starting zookeeper ... STARTED表示启动成功。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

1.4. 启动客户端

还是在bin目录下,输入./zkCli.sh 启动客户端。最后显示[zk: localhost:2181(CONNECTED) 0] 表示启动成功

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

至此单机部署已完成。

2. 集群部署

本次案例在同一台机器上部署,没有使用虚拟机或多台服务器。

2.1. 集群准备

(1)首先将上一节单机部署的zk1文件夹复制两份,分别命名为zk2,zk3。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(2)修改每个文件夹(zk实例)

配置参数解读:

  • server.A=B:C:D

    • A: 是一个数字,表示这个是第几号服务器。集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个 server。

    • B 是这个服务器的地址(ip或者主机名)。

    • C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口。

    • D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

zk1

(1)进入conf目录,编辑zoo.cfg文件

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

tickTime=2000
initLimit=10
syncLimit=5
# 数据文件存放路径
dataDir=../data
# 日志文件存放路径
dataLogDir=../logs
# 客户端连接端口
clientPort=2181
# zookeeper服务器端口号
admin.serverPort=2111
# 服务器列表,详细配置看《配置参数解读》
# 注意由于此处是在同一台机器上配置所有ip都一样,此时后面的端口不要重复了
server.01=127.0.0.1:2341:2351
server.02=127.0.0.1:2342:2352
server.03=127.0.0.1:2343:2353
# 如果部署在不同服务器,参照下方配置
# server.服务器myid=服务器的ip地址或者主机名:主从交流端口:选举端口

(2)进入dataDir所指定的目录,下创建文件myid,并输入01。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

myid文件内容。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

zk2

(1)进入conf目录,编辑zoo.cfg文件(与zk1类似)。注意clientPortadmin.serverPort修改了,同一台服务器端口不要重复。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

tickTime=2000
initLimit=10
syncLimit=5

# 数据文件存放路径
dataDir=../data
# 日志文件存放路径
dataLogDir=../logs

# 客户端连接端口
clientPort=2182
# zookeeper服务器端口号
admin.serverPort=2112

# 服务器列表,详细配置看《配置参数解读》
# 注意由于此处是在同一台机器上配置所有ip都一样,此时后面的端口不要重复了
server.01=127.0.0.1:2341:2351
server.02=127.0.0.1:2342:2352
server.03=127.0.0.1:2343:2353
# 如果部署在不同服务器,参照下方配置
# server.服务器myid=服务器的ip地址或者主机名:主从交流端口:选举端口

(2)进入dataDir所指定的目录,下创建文件myid,并输入02。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

zk3

(1)进入conf目录,编辑zoo.cfg文件(与zk1类似)。注意clientPortadmin.serverPort修改了,同一台服务器端口不要重复。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

tickTime=2000
initLimit=10
syncLimit=5

# 数据文件存放路径
dataDir=../data
# 日志文件存放路径
dataLogDir=../logs

# 客户端连接端口
clientPort=2183
# zookeeper服务器端口号
admin.serverPort=2113

# 服务器列表,详细配置看《配置参数解读》
# 注意由于此处是在同一台机器上配置所有ip都一样,此时后面的端口不要重复了
server.01=127.0.0.1:2341:2351
server.02=127.0.0.1:2342:2352
server.03=127.0.0.1:2343:2353
# 如果部署在不同服务器,参照下方配置
# server.服务器myid=服务器的ip地址或者主机名:主从交流端口:选举端口                                                                   

(2)进入dataDir所指定的目录,下创建文件myid,并输入03。

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

2.2. 启动集群服务器

(1)启动zk1

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(2)启动zk2
zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(3)启动zk3

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

2.3. 查看服务器状态

(1)zk1 -> follower
zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(2)zk2 -> leader

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

(3)zk3 -> follower

zookeeper单机部署,分布式实战,zookeeper,macos,分布式,经验分享,java-zookeeper,服务器

至此集群部署完成。

3. 总结

本篇文章旨在教会读者学会部署ZooKeeper,未涉及有关理论和使用的知识。后续将会基于本章部署好的ZooKeeper进行有关各项功能教学。文章来源地址https://www.toymoban.com/news/detail-857754.html

到了这里,关于ZooKeeper 实战(一) 超详细的单机与集群部署教程(MacOS)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • zookeeper超详细安装集群部署

    下载地址:https://archive.apache.org/dist/zookeeper/ 找到对应的版本下载 直接使用 yum 命令在线安装 环境变量配置 重新加载配置文件 首先将下载的 apache-zookeeper-3.5.9-bin.tar.gz 上传到服务器 解压安装至 /usr/local/ 目录下 如下图 重命名为 zookeeper 如下图 进入 zookeeper 配置文件 usr/local/z

    2024年02月05日
    浏览(80)
  • k8s实战案例之部署Zookeeper集群

    zookeeper是一个开源的分布式协调服务,由知名互联网公司Yahoo创建,它是Chubby的开源实现;换句话讲,zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于它实现数据的发布/订阅、负载均衡、名称服务、分布式协调/通知、集群管理、Master选举、分布式锁

    2024年02月08日
    浏览(51)
  • KubeSphere 部署 Zookeeper 实战教程

    知识点 定级: 入门级 如何利用 AI 助手 辅助运维工作 单节点 Zookeeper 安装部署 集群模式 Zookeeper 安装部署 开源应用选型思想 实战服务器配置(架构 1:1 复刻小规模生产环境,配置略有不同) 主机名 IP CPU 内存 系统盘 数据盘 用途 ks-master-0 192.168.9.91 4 8 50 100 KubeSphere/k8s-master ks

    2024年02月12日
    浏览(36)
  • 【Docker安装部署Kafka+Zookeeper详细教程】

    Docker拉取zookeeper的镜像 Docker拉取kafka的镜像 这个地方没有使用挂载目录的方式,想要使用挂载目录的方式可以看我前面的文章呦!!! 【Linux操作系统使用Docker部署Zookeeper】 【Docker安装部署Zookeeper集群】 参数说明 查看zookeeper的ip地址 后面部署kafka会使用到zookeeper的ip地址 进

    2023年04月19日
    浏览(48)
  • linux部署单机kafka(使用kafka自带zookeeper)

    本文使用kafka单节点安装及配置,并使用kafka自带的zookeeper。一般kafka需要起三个kafka构成集群,可以连单独的zookeeper,本文不涉及。 根据需要下载对应版本的安装包,下载地址: https://archive.apache.org/dist/kafka/ 上传安装包并解压重命名(路径自定义): 如:上传到 /opt 路径下

    2024年02月16日
    浏览(46)
  • 【ZooKeeper高手实战】ZooKeeper 集群读写性能及生产环境参数配置

    🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理解 Redis 系列文章结合电商场景讲解 Redis 使用场景 、 中间件系列笔记 和 编程高频电子书 ! 文章导读地址:点击查看文章导读!

    2024年02月21日
    浏览(40)
  • 【Linux系统基础】(5)在Linux上集群化环境前置准备及部署Zookeeper、Kafka软件详细教程

    在前面,我们所学习安装的软件,都是以单机模式运行的。 后续,我们将要学习大数据相关的软件部署,所以后续我们所安装的软件服务,大多数都是以集群化(多台服务器共同工作)模式运行的。 所以,在当前小节,我们需要完成集群化环境的前置准备,包括创建多台虚

    2024年02月03日
    浏览(44)
  • ---------------- 部署 Zookeeper 集群 ----------------

    //准备 3 台服务器做 Zookeeper 集群 192.168.109.1 192.168.109.2 192.168.109.3 //关闭防火墙 //安装 JDK

    2024年02月14日
    浏览(32)
  • Zookeeper集群部署

    1 下载安装: cd /usr/local/software wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz ln -s /usr/local/software/apache-zookeeper-3.6.2-bin /usr/local/zookeeper mkdir /usr/local/zookeeper/{data,logs} 注: zk的安装依赖java,所以需要先安装jdk,统一使用jdk1

    2024年02月11日
    浏览(43)
  • 部署zookeeper集群

    zookeeper和jdk下载地址 jdk 链接:https://pan.baidu.com/s/13GpNaAiHM5HSDJ66ebBtEg 提取码:90se zookeeper 链接:https://pan.baidu.com/s/1nSFKEhSGNiwgSPZWdb7hkw 提取码:u5l2 在 所有的机器 上面执行下面步骤: 1.上传zookeeper和jdk, /opt/soft/ 2.解压jdk和zookeeper tar xf xxxx 3.配置jdk环境变量: vi /etc/profile export

    2024年02月09日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包