当前位置: 首页 > news >正文

搭建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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 运营如何判断账号是否起号失败?
  • Bev pool 加速(1): torch.autograd.Function的使用
  • 从C到C++
  • 微信小程序-文件下载
  • 体系结构权衡分析方法(ATAM)
  • 基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
  • 键盘快捷键:提高工作效率与电脑操作的利器
  • IIS 反向代理模块: URL Rewrite 和 Application Request Routing (ARR)
  • SparkSQL SET和RESET
  • Spring boot启动过程详解
  • 形象化理解pytorch中的tensor.scatter操作
  • VsCode 内置 Git 可视化操作【初始化仓库】
  • HarmonyOS NEXT 底部选项卡功能
  • Excel排序错误原因之一
  • Spring cache的使用
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • Angular 响应式表单之下拉框
  • Brief introduction of how to 'Call, Apply and Bind'
  • go append函数以及写入
  • HashMap剖析之内部结构
  • k8s如何管理Pod
  • Linux gpio口使用方法
  • mysql innodb 索引使用指南
  • rabbitmq延迟消息示例
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • storm drpc实例
  • vue-cli在webpack的配置文件探究
  • vue数据传递--我有特殊的实现技巧
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 阿里云前端周刊 - 第 26 期
  • 容器服务kubernetes弹性伸缩高级用法
  • 写给高年级小学生看的《Bash 指南》
  • 在electron中实现跨域请求,无需更改服务器端设置
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • 函数计算新功能-----支持C#函数
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #QT(智能家居界面-界面切换)
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (ibm)Java 语言的 XPath API
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)软件性能测试
  • (图)IntelliTrace Tools 跟踪云端程序
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转载)从 Java 代码到 Java 堆
  • (自用)仿写程序
  • ..回顾17,展望18
  • .net core 的缓存方案