Zookeeper系列(一)集群搭建(非容器)

这篇具有很好参考价值的文章主要介绍了Zookeeper系列(一)集群搭建(非容器)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章

Zookeeper系列(一)集群搭建(非容器)

目录

        前言

        下载

        搭建

                Data目录
                Conf目录
                集群复制和修改
                启动

        配置示例

        测试

        总结


前言

Zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一些简单的接口提供给用户使用。ZooKeeper 背后的动机是减轻分布式应用程序从头开始实现协调服务的责任。

Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。

下载

从官网  Apache ZooKeeper 下载相应版本,这里版本为 3.7.2(本系列后续所用版本也是)。

搭建

Data目录

  • 首先创建集群项目存放的位置,当前是 /home/zookeeper/file ,这里可自定义
mkdir -p /home/zookeeper/file
  • 将下载的压缩包上传到linux服务器,路径 /home/zookeeper/file 下,然后解压(通过wget和其他方式亦可)
tar -zxvf apache-zookeeper-3.7.2-bin.tar.gz -C zookeeper-3.7.2
  • 复制一份作为 zookeeper1
cp -r zookeeper-3.7.2 zookeeper1
  •  切换到 zookeeper1 目录下,创建 data 和 logs 目录
cd zookeeper1
mkdir data
mkdir logs
  • 进入 data 目录,生成一个内容为 1myid
cd data
vim myid

Conf目录

  • 接下来,操作配置相关内容,进入 conf 中,路径为 /home/zookeeper/file/zookeeper1/conf
cd /home/zookeeper/file/zookeeper1/conf
  • 复制一份 zoo_sample.cfgzoo.cfg
cp zoo_sample.cfg zoo.cfg
  • 编辑 zoo.cfg修改 dataDir  添加 server.服务器ID 列表
dataDir=/home/zookeeper/file/zookeeper1/data
server.1=192.168.119.142:2881:3881
server.2=192.168.119.142:2882:3882
server.3=192.168.119.142:2883:3883

        注意:dataDir 为当前节点的 data 目录路径,这里为 zookeeper1节点的

                  server.服务器ID有几个配置几个(这里为3个),配置表达式如下:

                  server.服务器ID=服务器IP地址:服务器之间通信端⼝:服务器之间投票选举端⼝

集群复制和修改

  • 复制 zookeeper1,分别命名为 zookeeper2zookeeper3(3个节点构成的集群)
cp -r zookeeper1 zookeeper2
cp -r zookeeper1 zookeeper3
  •  分别进入 zookeeper2  zookeeper3 下的 data 目录,分别修改 myid 的内容为 2 和 3(注意节点和值的对应)
  • 接下来就是 conf 的修改,进入 zookeeper2 下的 conf 目录,修改 zoo.cfg 的 dataDir 和 clientPort
dataDir=/home/zookeeper/file/zookeeper2/data
clientPort=2182
  • 进入 zookeeper3 下的 conf 目录,修改 zoo.cfg 的 dataDir 和 clientPort
dataDir=/home/zookeeper/file/zookeeper3/data
clientPort=2183
  • 以上就配置完成了,就可以启动了

启动

  • 分别进入zookeeper1、zookeeper2  zookeeper3 的 bin 目录,执行命令
 ./zkServer.sh start
  • 启动后,显示

Zookeeper系列(一)集群搭建(非容器),Zookeeper,Zookeeper,Zookeeper集群,Zookeeper集群搭建

  • 查看状态和是否主节点
./zkServer.sh status
  • 关闭
./zkServer.sh stop

配置示例

选择 zookeeper3 的 zoo.cfg 配置给列位参照(不同版本可能不同)

  • zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/home/zookeeper/file/zookeeper3/data
# the port at which the clients will connect
clientPort=2183
server.1=192.168.119.142:2881:3881
server.2=192.168.119.142:2882:3882
server.3=192.168.119.142:2883:3883
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

测试

启动全部节点后,可通过多种方式确认集群的可用性,这里选择客户端工具

  • 通过客户端工具,分别连接 zookeeper1 、zookeeper2 和 zookeeper3

Zookeeper系列(一)集群搭建(非容器),Zookeeper,Zookeeper,Zookeeper集群,Zookeeper集群搭建

  • 在 zookeeper1 下新增持久节点 test

Zookeeper系列(一)集群搭建(非容器),Zookeeper,Zookeeper,Zookeeper集群,Zookeeper集群搭建

  • 分别查看 zookeeper2 和 zookeeper3 对应的节点树数据情况,显示节点已同步

Zookeeper系列(一)集群搭建(非容器),Zookeeper,Zookeeper,Zookeeper集群,Zookeeper集群搭建

  •  然后在 zookeeper3 修改 test 的内容为 node3

Zookeeper系列(一)集群搭建(非容器),Zookeeper,Zookeeper,Zookeeper集群,Zookeeper集群搭建

  • 分别查看 zookeeper1 和 zookeeper2 的 test节点内容,显示节点内容已更新

Zookeeper系列(一)集群搭建(非容器),Zookeeper,Zookeeper,Zookeeper集群,Zookeeper集群搭建

  • 经过以上步骤,可初步确认集群是成功启动的

总结

 Zookeeper是一个强大的分布式协调工具,接下来会持续更新Zookeeper的其他内容,包括但不限于分布式锁、分布式队列、源码分析等等。文章来源地址https://www.toymoban.com/news/detail-778699.html

到了这里,关于Zookeeper系列(一)集群搭建(非容器)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • zookeeper集群搭建

    准备三台机器,在三台机器的hosts上加入三台机器的host地址别名,让三台机器能互相ping通。 192.168.150.146、192.168.150.147和192.168.150.148是三台机器的ip地址 修改三台机器的hostname,根据上面的配置 192.168.150.146上运行hostname node1 192.168.150.147上运行hostname node2 192.168.150.148上运行host

    2023年04月23日
    浏览(40)
  • Zookeeper 集群搭建

    Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 Zookeeper 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架 一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应

    2024年02月06日
    浏览(36)
  • 【Docker】搭建Zookeeper集群

    启动容器 通过如下命令启动容器: 上述命令在后台运行一个名为 zookeeper-standalone 的容器。由于 Zookeeper 是’快速失败’,因此最好通过 --retart参数设置容器在意外停止时自动重启。默认是 no,表示不重启。-p 参数将宿主机端口 8080 与容器端口 8080 映射。 通过如下命令查看运

    2024年02月04日
    浏览(37)
  • ZooKeeper集群环境搭建

    🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 个人主页:beixi@ 本文章收录于专栏(点击传送):【大数据学习】 💓💓持续更新中,感谢各位前辈朋友们支持学习~💓💓 ZooKeeper集群由多个服务器节点组成,其中包括一个Leader节点和多个Follower节点。Leader节点负责处理所有

    2024年02月10日
    浏览(48)
  • kafka---- zookeeper集群搭建

    Hostname Ip Root Prac-zk-133 172.16.144.133 root Prac-zk-134 172.16.144.134 root Prac-zk-135 172.16.144.135 root 172.16.144.133 Prac-zk-133 172.16.144.134 Prac-zk-134 172.16.144.135 Prac-zk-135 zkServer.sh start-foreground 使用它启动会出现地址已在使用 Zookeeper启动失败(java.net.BindException: 地址已在使用 端口被占用了,把218

    2024年02月11日
    浏览(38)
  • kafka 集群 ZooKeeper 模式搭建

    Apache Kafka是一个开源分布式事件流平台,被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用程序 Kafka 官网:Apache Kafka 关于ZooKeeper的弃用 根据 Kafka官网信息,随着Apache Kafka 3.5版本的发布,Zookeeper现已被标记为已弃用。未来计划在Apache Kafka(4.0版)的下一

    2024年02月05日
    浏览(52)
  • Zookeeper基础入门-1【集群搭建】

    Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的Apache 项目。 Zookeeper从设计模式角度来理解:是一个基于 观察者模式 设计的分布式服务管理框架,它 负责存储和管理大家都关心的数据 ,然后 接受观察者的注册 ,一旦这些数据的状态发生变化,Zookeeper就将 负责

    2024年03月13日
    浏览(35)
  • zookeeper + kafka集群搭建详解

    2023年04月11日
    浏览(73)
  • 猿创征文|ZooKeeper(伪)集群搭建

    前言:zookeeper作为一款分布式协调中间件,其重要性不言而喻,因此需要保证其高可用性。所以一般都会搭建zookeeper集群,今天叶秋带领大家在一台服务器上搭建伪集群。 目录 1、 搭建要求 2、 准备工作 3、 配置集群  4 启动集群  5 模拟集群异常 1、 搭建要求 真实的集群是

    2024年02月01日
    浏览(71)
  • Zookeeper 集群搭建过程中常见错误

    这通常表示 Zookeeper 配置为单节点模式,而不是集群模式。需要检查 zoo.cfg 文件中的配置,确保包含了所有集群节点的信息。 首先查看 $ZOOKEEPER_HOME/logs 目录下的 .out 后缀文件中报错内容(在 hadoop 系统中, .log 结尾的日志文件通常用于记录应用程序的日志信息,而 .out 结尾的

    2024年02月03日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包