搭建Kafka+zookeeper集群调度

2024-09-09 16:52

本文主要是介绍搭建Kafka+zookeeper集群调度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

硬件环境

172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群
172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群
172.18.0.7        kafkazk3        Kafka+zookeeper                Kafka Broker集群

软件环境

zookeeper           3.5.9                   资源调度、写作
Kafka               2.8.0                消息通信中间件 

安装JDK1.8

安装搭建zookeeper集群

对于集群模式下的zookeeper部署,官方建议至少需要三台服务器,关于服务器数量推荐是奇数个数(3、5、7等等),以实现zookeeper集群的高可用,这里使用三台服务器进行部署
 

注意:zoo和kafka有版本不一致的问题,需要去官网看确切的版本然后在进行下载。 kafka3.8.0兼容zoo3.8.4

下载安装zookeeper

#zookeeper使用java编写的,需要安装Java运行环境,可以在zookeeper官网 https://zookeeper.apache.org/获取zookeeper安装包,这里安装的版本是zookeeper-3.9.2.tar.gz 将下载下来的安装包直接解压都一个路径下即可完成zookeeper的安装#切换目录
cd /usr/local
#下载
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
#解压
tar -zxvf zookeeper-3.9.2.tar.gz -C /usr/local
#更换文件名
mv /usr/local/zookeeper-3.9.2 /usr/local/zookeeper

配置zoo.cfg

zookeeper安装到了/usr/local/目录下,因此,zookeeper的配置模版文件为/usr/local/zookeeper/conf/zoo_sample.cfg,拷贝zoo_sample.cfg并重命名为zoo.cfg,重点配置内容如下

########zoo.cfg#################
tickTime=2000		# 控制心跳和超市的时间秒 时间度量单位   毫秒
initLimit=10		#10个tickTime  配置链接到lead节点时,最长忍受多长心跳和超时节点
syncLimit=5			#5个tickTime 标识lead和 发送消息是请求和应答时间长度 不能超过多少个tickTime
dataDir=/usr/local/zookeeper/data #存储快照文件的目录 必配  数据目录 目录必须存在 如果没有配置dataLogDir那么事务日志也会存在此目录
clientPort=2181		#zookeeper 的端口
#下面是集群配置 对应集群服务器的信息    
#第几台服务器=第几台服务器的ip地址  :  集群lead通信的端口  :  执行选举的时候的一个端口
server.1=172.18.0.5:2888:3888
server.2=172.18.0.6:2888:3888
server.3=172.18.0.7:2888:3888
#############zoo.cfg################

zoo.cfg配置解析

#tickTime:zookeeper使用的基本时间度量单位,以毫秒为单温,它用来控制心跳和超时,2000标识2ticktime。更低的tickTime值可以更快地发现超时时间问题。
#initLimit:这个配置项是用来配置zookeeper急群众Follower服务器初始化连接到Leader时,最长能忍受多少个心跳时间间隔数(也就是tickTime)口
#syncLimit:这个配置项标识Leader与Follower之间发送消息,请求和应答时间长度最长不能超过多少个tickTimes的时间长度。
#dataDir:必须配置项,用于配置存储快照文件的目录,需要事先创建好这个木,如果没有配置dataLogDir,那么事务日志也会存储在此目录。
#clientPort:zookeeper服务进程监听的TCP端口,默认情况下,服务端会监听2181端口。
#server.A=B:C:D  其中A是一个数字,表示第几个服务器;B是这个服务器的IP地址;C表示的是这个服务器与急群众的Leader服务器通信的端口;D表示如果集群中的Leader服务器宕机了,需要一个端口来重新进行选举,选出一个新的Leader而这个端口就是用来执行选举时服务器相互通信的端口。

配置myid

除了修改zoo.cfg配置文件外,集群模式下还要配置一个文件myid,这个文件需要放在dataDir配置项指定的目录下,这个文件里面只有一个数字,如果要写入1,表示第一个服务器,与zoo.cfg文本中的server.1中的1对应,以此类推,在集群的第二个服务器zoo.cfg配置文件中dataDir配置项指定的目录下创建myid文件,写入2,这个2与zoo

这篇关于搭建Kafka+zookeeper集群调度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1151732

相关文章

Kafka拦截器的神奇操作方法

《Kafka拦截器的神奇操作方法》Kafka拦截器是一种强大的机制,用于在消息发送和接收过程中插入自定义逻辑,它们可以用于消息定制、日志记录、监控、业务逻辑集成、性能统计和异常处理等,本文介绍Kafk... 目录前言拦截器的基本概念Kafka 拦截器的定义和基本原理:拦截器是 Kafka 消息传递的不可或缺

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Nacos集群数据同步方式

《Nacos集群数据同步方式》文章主要介绍了Nacos集群中服务注册信息的同步机制,涉及到负责节点和非负责节点之间的数据同步过程,以及DistroProtocol协议在同步中的应用... 目录引言负责节点(发起同步)DistroProtocolDistroSyncChangeTask获取同步数据getDis

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r