搭建Zookeeper集群:三台服务器,一场分布式之舞

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

欢迎来到我的博客,代码的世界里,每一行都是一个故事


搭建Zookeeper集群:三台服务器,一场分布式之舞,分布式,服务器,java,分布式,zookeeper,集群

前言

在分布式系统的舞台上,Zookeeper是一位不可或缺的重要角色。如何搭建一个稳定、高性能的Zookeeper集群,成为每位系统管理员和开发者的必修课。让我们一同踏上这场集群之旅,揭秘三台服务器背后的Zookeeper配置细节,打造一个分布式一致性的乐园。

前置

设置主机名对应关系

这里因为我的ip总是变化的,也就是固定ip不能满足需求的时候

要设置好ip与主机名的对应关系

这里只要每台主机去ping另外两台主机即可,如果可达就可以使用了比如ping ubtone

要有java环境

执行两个命令java -versionjavac出现以下即可

搭建Zookeeper集群:三台服务器,一场分布式之舞,分布式,服务器,java,分布式,zookeeper,集群

步骤

当搭建 Apache ZooKeeper 集群时,需要更详细的配置和操作步骤。以下是一个更详细的指南,以便您更好地理解如何配置和操作 ZooKeeper 集群:

1. 下载和解压 ZooKeeper:

# 下载 ZooKeeper
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.10/apache-zookeeper-3.5.10-bin.tar.gz

# 解压
tar -zxf apache-zookeeper-3.5.10-bin.tar.gz

2. 配置 ZooKeeper:

# 进入 ZooKeeper 目录
cd apache-zookeeper-3.5.10-bin

# 复制示例配置文件
cp conf/zoo_sample.cfg conf/zoo.cfg

编辑 conf/zoo.cfg 文件:

vim conf/zoo.cfg

配置文件示例:

# 必填项:ZooKeeper 数据存储目录
dataDir=/path/to/dataDir

# 必填项:ZooKeeper 客户端连接端口
clientPort=2181

# 选填项:ZooKeeper 集群节点信息
server.1=hostname1:2888:3888
server.2=hostname2:2888:3888
server.3=hostname3:2888:3888

每个节点的 dataDir 都应该是唯一的。clientPort 是 ZooKeeper 客户端连接的端口。server.X 是集群中每个节点的配置,其中 X 是节点编号,hostnameX 是该节点的主机名或 IP 地址。

3. 配置集群节点的 myid 文件:

在每个节点上创建一个 myid 文件,其中包含节点的编号,对应于 server.X 中的 X

# 例如,在第一个节点上:
echo "1" > /path/to/dataDir/myid

# 在第二个节点上:
echo "2" > /path/to/dataDir/myid

# 在第三个节点上:
echo "3" > /path/to/dataDir/myid

4. 防火墙和端口设置:

确保防火墙允许 ZooKeeper 使用的端口(默认是 2181)。根据您的防火墙工具,设置相应的规则。

5. 启动 ZooKeeper:

在每个节点上执行以下命令启动 ZooKeeper:

# ZooKeeper 3.6.0 之前版本
bin/zkServer.sh start

# ZooKeeper 3.6.0 及更高版本
bin/zookeeper-server-start.sh -daemon conf/zoo.cfg

6. 验证 ZooKeeper:

连接到 ZooKeeper CLI,检查集群状态:

搭建Zookeeper集群:三台服务器,一场分布式之舞,分布式,服务器,java,分布式,zookeeper,集群

上方可以看到,有一个leader,两个follower。当你启动一个完第二个服务时候,它就会出现leader和follower

出现的问题解决(全面)

每台主机都不可达,也就是出现类似这种Cannot open channel to 2 at election address ubttwo/192.168.101.104:3888

  1. 首先我们确定防火墙是否关闭了,这个方法很多,比如使用ping,查看主机是否可达,然后使用telnet ip 2181,看端口是否可达,如果第一步没什么问题的话,就应该是第二个问题

  2. 在每一个zoo.cfg配置文件中加入配置

    quorumListenOnAllIPs=true
    

quorumListenOnAllIPs=true 是 ZooKeeper 的配置参数之一,用于指定 ZooKeeper 服务器是否监听所有的 IP 地址。当设置为 true 时,ZooKeeper 将监听服务器上的所有网络接口,而不仅仅是特定的 IP 地址。

具体来说,这个配置项的含义是:

  • quorumListenOnAllIPs=true 时,ZooKeeper 服务器将接受来自任何 IP 地址的连接请求。
  • quorumListenOnAllIPs=false 时,ZooKeeper 服务器将仅接受来自指定 IP 地址的连接请求。

默认情况下,quorumListenOnAllIPs 的值为 true,这意味着 ZooKeeper 服务器会监听所有的 IP 地址。这在一些场景中可能是有用的,特别是在多网卡或多 IP 地址的环境中,以确保 ZooKeeper 能够接受来自所有网络接口的连接。

在配置文件(通常是 zoo.cfg)中,可以按以下方式设置该选项:

quorumListenOnAllIPs=true

或者

quorumListenOnAllIPs=false

具体选择取决于您的网络环境和需求。如果您的 ZooKeeper 服务器部署在一个具有多个网络接口的主机上,可能需要将其设置为 true 以确保能够接受来自所有接口的连接。在其他情况下,可以根据需要设置为 false文章来源地址https://www.toymoban.com/news/detail-860910.html

到了这里,关于搭建Zookeeper集群:三台服务器,一场分布式之舞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 极速安装kubernetes-1.22.0(三台CentOS7服务器)

    这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 标题敢号称 极速 ,是因为使用了开源项目 sealos ,正是因为sealos,原本繁琐复杂的kubernetes部署操作变得简单高效 sealos是个热门开源项目,地址是:https://github.com/fanux/sealos,官方说明容易引发读者的

    2024年02月16日
    浏览(48)
  • ubuntu服务器版本搭建Hadoop集群

    实验环境: 虚拟化软件:VMware® Workstation 16 Pro 镜像:ubuntu-22.04.2-live-server-amd64.iso Hadoop版本:hadoop-3.3.4.tar.gz ubuntu镜像链接 hadoop文件链接 配置虚拟机 (1)新建虚拟机,选择实验镜像【ubuntu-22.04.2-live-server-amd64.iso】 (2)调整硬件配置,配置如图 安装操作系统 (1)选择虚拟

    2024年02月08日
    浏览(52)
  • Nginx(7)Nginx实现服务器端集群搭建

    前面课程已经将Nginx的大部分内容进行了讲解,我们都知道了Nginx在高并发场景和处理静态资源是非常高性能的,但是在实际项目中除了静态资源还有就是后台业务代码模块,一般后台业务都会被部署在Tomcat,weblogic或者是websphere等web服务器上。那么如何使用Nginx接收用户的请

    2024年02月09日
    浏览(54)
  • Linux服务器集群-大数据基础环境搭建指南

    本文将构建三台Linux服务器(node1、node2、node3),通过相关配置,搭建出一个Linux服务器集群环境适用于大数据的开发学习。 本文使用的VMware版本为:VMware16; 本文环境搭建使用到的Linux发行版本为:CentOS7; 本文的电脑操作环境为:windows11。 首先,需要根据之前发文中的流程

    2024年02月07日
    浏览(60)
  • 基于slurm框架的GPU服务器集群搭建方法

    1. 环境基础 2. 环境配置 2.1 hostname配置 2.2 关闭SELinux (master, slave) 2.3 关闭Firewall (master, slave) 2.4 配置ip与hostname映射关系 (master, slave1) 3. 创建munge和slurm用户 (master, slave) 4. 安装munge 4.1 下载munge及依赖包 (master, slave) 4.2 生成munge.key并发送到各计算节点 (master) 4.3 修改

    2024年02月05日
    浏览(54)
  • 概述、搭建Redis服务器、部署LNP+Redis、创建Redis集群、连接集群、集群工作原理

    Top 案例1:搭建redis服务器 案例2:常用命令限 案例3:部署LNP+Redis 案例4:创建redis集群 1.1 具体要求如下 在主机redis64运行redis服务 修改服务运行参数 ip 地址192.168.88.64 服务监听的端口6364 redis服务的连接密码为 tarenaplj 1.2 方案 准备1台新虚拟机,要求如表-1所示。   1.3 步骤 实

    2024年02月12日
    浏览(83)
  • SRS流媒体服务器——Forward集群搭建和源码分析

    Forward集群原理 RTMP流转发(Forward)部署实例 Forward集群源码分析 Forward 表示向前、前头的、发送等意思。 在SRS中可以理解为把Master节点获得直播流⼴播(转发)给所有的Slave节点,master节点由多少路直播流,那么在每个slave节点也会多少路直播流。 注:在SRS中还有另外⼀种集

    2023年04月11日
    浏览(100)
  • Cenos7 搭建Minio最新版集群部署服务器(一)

                                                      ------      道 | 法 | 术 | 器 | 势     ------                             多台服务器间免密登录|免密拷贝 Cenos7 搭建Minio集群部署服务器(一) Cenos7 搭建Minio集群Nginx统一访问入口|反向动态代理(二)  Nginx正向代理与反向

    2024年02月12日
    浏览(38)
  • 在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群

    本文在两台2核2g的云服务器上搭建了Hadoop集群,两台云服务器分别是阿里云(hjm)和腾讯云(gyt),集群部署规划如下: hjm gyt HDFS NameNodeSecondaryNameNodeDataNode DataNode YARN ResourceManagerNodeManager NodeManager 经实验,目前可以正常实现文件上传下载,但跑mapreduce程序还出现服务器资

    2024年02月08日
    浏览(46)
  • Redis持久化说明及其单台Linux服务器搭建Redis集群架构

    说明:RDB快照主要以二进制文件的形式进行存储数据,主要以文件名dump.rdb进行存储,主要设置redis.conf里面设置’save 60 1000’命令可以开启, 表示在60秒内操作1000次进行一次备份数据。在客户端执行save(同步)和bgsave(异步操作)。 redis.conf 启动redis相关命令 说明:主要把文件生

    2024年02月10日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包