Kafka 集群参数
Kafka 集群参数
- Broker 端参数
- 存储配置
- ZooKeeper 配置
- Broker 连接配置
- Topic 管理配置
- 数据留存配置
- Topic 级别参数
- JVM 参数
- 操作系统参数
重要的配置 : Broker 端参数,主题级别的参数、JVM 端参数、操作系统级别的参数
Broker 端参数
存储配置
log.dirs:指定 Broker 要用的若干个文件目录路径 (自指定)log.dir:只能指定单个路径- 设置了
log.dirs,就不用设置log.dir
线上环境要 log.dirs 配置多个路径
- 如 :
/home/kafka1,/home/kafka2,/home/kafka3
目录挂载在不同的物理磁盘的好处:
- 提升读写性能:多块物理磁盘同时读写
- 实现故障转移 (Failover) : Kafka 1.1 引入。坏磁盘的数据会自动转到其他正常的磁盘上,并正常工作
ZooKeeper 配置
ZooKeeper : 分布式协调框架,负责协调管理并保存 Kafka 集群的所有元数据信息
- 元数据信息 : Broker 运行、Topic,每个 Topic 的分区,分区的 Leader 副本
Kafka/ZK 连接 :zookeeper.connect
- 如:
zk1:2181,zk2:2181,zk3:2181
多 Kafka集群用单 ZK 集群 :
- 用 chroot 起别名
zk1:2181,zk2:2181,zk3:2181/kafka1zk1:2181,zk2:2181,zk3:2181/kafka2
Broker 连接配置
Broker 连接 :客户端或其他 Broker 通信
listeners:监听器,外部连接者通过什么协议访问指定主机名和端口开放的 Kafka 服务advertised.listeners:比 listeners 多 advertised。该组监听器对外网公开host.name/port:(忘掉,过时参数)
监听器的构成 :
- 若干个逗号分隔的三元组,每个三元组的格式为
<协议名称, 主机名, 端口号> - 协议名称,如 : PLAINTEXT : 明文传输 ,SSL : SSL 或 TLS 加密传输
- 自定义协议,如 :
CONTROLLER: //localhost:9092
自定义协议名称
listener.security.protocol.map: 指定安全协议- 如 :
listener.security.protocol.map=CONTROLLER:PLAINTEXT: CONTROLLER 自定义协议,用明文不加密传输数据
Topic 管理配置
auto.create.topics.enable:是否允许自动创建 Topic (建议 : false : 不允许自动创建 Topic)unclean.leader.election.enable:是否允许 Unclean Leader 选举 ( 建议 :false: 保证数据不易丢失)auto.leader.rebalance.enable:是否定期 Leader 选举 (建议 :false: 避免 Leader 重选举)
数据留存配置
log.retention.{hour|minutes|ms}:控制消息保存多长。优先级 : ms > minutes > hour ( 默认 :log.retention.hour=168(7 天) )log.retention.bytes:指定 Broker 总磁盘容量大小 ( 默认: -1 : 不限制 ; 构建多租户时具体指定 )message.max.bytes:控制 Broker 能接收的最大消息大小 (默认 : 1000012 , 建议设大)
Topic 级别参数
当同时设置 Topic 级别参数和全局 Broker 参数时 :
- Topic 级别参数优先级 > 全局 Broker 参数
Topic 参数 :
retention.ms:该 Topic 消息保存时长 (默认: 7 天)retention.bytes:该 Topic 预留多大的磁盘空间 (默认: -1 : 无限用磁盘空间)max.message.bytes: 接收该 Topic 的最大消息大小
Topic 级别参数设置 :
- 创建 Topic 时设置
- 修改 Topic 时设置
kafka-topics 创建 Topic : 设置半年数据,最大消息 5MB :
- 15552000000 = 180 * 24 * 60 * 60 * 1000
- 5242880 = 5 * 1024 * 1024
bin/kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create--topic transaction \
--partitions 1 \
--replication-factor 1 \
--config retention.ms=15552000000 \
--config max.message.bytes=5242880
kafka-configs 修改 Topic : 设置最大消息 10MB
- 10485760 = 10 * 1024 * 1024
bin/kafka-configs.sh \
--zookeeper localhost:2181 \
--entity-type topics \
--entity-name transaction \
--alter --add-config max.message.bytes=10485760
JVM 参数
Kafka 服务器端用 Scala 写 , 依然运行在 JVM 上 , 使用 Java 8 上
- JVM 堆大小设置成 6GB
- 用 G1 收集器
export KAFKA_HEAP_OPTS=--Xms6g --Xmx6gexport KAFKA_JVM_PERFORMANCE_OPTS= -server \
-XX:+UseG1GC -XX:MaxGCPauseMillis=20 \
-XX:InitiatingHeapOccupancyPercent=35 \
-XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=truebin/kafka-server-start.sh config/server.properties
- MaxGCPauseMillis : 每次GC最大的停顿毫秒
- InitiatingHeapOccupancyPercent : 8b12前 : 整堆使用量与堆总容量的比值 ; 8b12 后 : 老年代大小与堆总容量的比值
- ExplicitGCInvokesConcurrent : (不懂 , 问题点) , 网上说 cms 下才生效 , g1 什么关系
java.awt.headless=true: 强制用 Headless 的 AWT 实现类,避免缺失图形环境而出错
操作系统参数
OS 参数 :
- 文件描述符限制:
ulimit -n 1000000, 调大避免Too many open files - 文件系统类型 : 生产环境用高效 XFS
- Swappiness :
vm.swappiness = 1, 避免性能下降 - Flush 落盘时间 : 调大提交间隔 (默认 : 5s) 换性能
相关文章:
Kafka 集群参数
Kafka 集群参数Broker 端参数存储配置ZooKeeper 配置Broker 连接配置Topic 管理配置数据留存配置Topic 级别参数JVM 参数操作系统参数重要的配置 : Broker 端参数,主题级别的参数、JVM 端参数、操作系统级别的参数 Broker 端参数 存储配置 log.dirs:指…...
等保2.0与1.0 测评要求的变化
No.1标准内容增加了 标准内容上最大的变化就是将安全要求分为了安全通用要求和扩展要求。首先,安全通用要求部分已对1.0标准的内容进行了优化,删除或修订了过时的要求项,新增了对新型网络攻击行为防护和个人信息保护等方面的新要求。其次&am…...
nodejs学习巩固笔记-nodejs基础,Node.js 高级编程(核心模块、模块加载机制)
目录Nodejs 基础大前端开发过程中的必备技能nodejs 的架构为什么是 NodejsNodejs 异步 IONodejs 事件驱动架构全局对象全局变量之 process核心模块核心模块 - path全局变量之 Buffer创建 bufferBuffer 实例方法Buffer 静态方法Buffer-split 实现核心模块之FS模块文件操作 APImd…...
2023年春【移动计算技术】文献精读(二)-3 || 附:创新点、创新思想和技术路线总结
榜样的力量是无穷的! 🎯作者主页:追光者♂ 🌸个人简介:2022年CSDN博客之星人工智能领域TOP4🌟、阿里云社区专家博主🏅 CSDN-人工智能领域新星创作者🏆 【无限进步,一起追光!】 🍎欢迎点赞👍 收藏⭐ 留言📝 🌿本篇,仅接着上两篇,为【移动计算技术】…...
企业新闻稿的格式和要求是什么?如何写好新闻稿?
新闻稿是企业自己撰写给媒体的新闻素材,媒体采纳你的稿件后就可以传播到更多的大众面前。 所以企业新闻稿的撰写一方面要让媒体认可,另外一方面是让用户认可你的品牌或是产品。 企业新闻稿的格式和要求是什么?如何写好新闻稿?今…...
String类的底层原理和版本演变
1 String类的底层演变(1) JDK8以及之前版本 (2)JDK9以及之后版本 javaJDK8的字符串存储在char类型的数组里面,在java中,一个char类型占两个字节。但是很多时候,一个字符只需要一个字节就可存储&…...
软考高级信息系统项目管理师系列之二十三:项目采购管理
软考高级信息系统项目管理师系列之二十三:项目采购管理 一、项目采购管理内容整理二、项目采购管理1.采购的定义2.项目采购管理3.战略合作管理三、规划采购1.供应商管理2.采购需求与计划3.规划采购的输入、输出、工具和技术四、实施采购1.采购合同知识2.实施采购的输入、输出、…...
SpringMVC-0308
五、域对象共享数据0、三个域对象范围request:一次请求 第1~6都是向request共享session:一次会话(浏览器开启到浏览器关闭,与服务器关闭无关,session有钝化和活化操作,可以持久化数据࿰…...
[数据结构]:14-选择排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 选择排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代…...
基于C/C++综合训练 ----- 贪吃蛇
文章目录一、定义结构体对象二、游戏初始化1. 蛇初始化2. 食物初始化3. 围墙初始化4. 界面初始化三、逻辑编程1. 启动游戏2. 打印成绩3. main函数四、细节处理五、程序源码该篇环境为Visual Studio2022 游戏简述 :在控制终端绘画出一个矩阵表示游戏界面(围墙)&…...
Unity 混合操作(Blending)
渲染图形时,在执行所有着色器并应用所有纹理后,像素将写入到屏幕。这些像素与已有像素的组合方式由 Blend 命令控制。用于生成透明对象。《Unity Shader入门精要》大致解释:片元通过了模板测试和深度测试之后,会进行混合步骤。如果…...
Hive建表高阶语句
CTAS -as select方式建表CREATE TABLE ctas_employee as SELECT * FROM employee;CTE (CTAS with Common Table Expression)CREATE TABLE cte_employee AS WITH r1 AS (SELECT name FROM r2 WHERE name Michael), r2 AS (SELECT name FROM employee WHERE gender Male), r3 …...
面向新时代,海泰方圆战略升级!“1465”隆重发布!
过去四年,海泰方圆“1344”战略一直在引领公司前行,搭建了非常坚实的战略框架基座,并推动全员在实践和行动中达成深度共识。 “1344”战略 1个定位,代表着当前机构用户的一组共性需求,密码安全数据治理信创工程。 3…...
带你感受一次JVM调优实战
本文分成两部分,先了解理论,然后再进行实战。 理论篇 1.1 调优目标 JVM调优的两大目标是: 提高应用程序的性能和吞吐量: 通过优化JVM的垃圾回收机制、调整线程池大小和优化代码,可以提高应用程序的性能和吞吐量。…...
ALG和STUN
目录 ALG 应用层网关讲解 Client1使用FTP主动模式建立FTP Client1使用FTP被动模式建立FTP STUN讲解 ALG 应用层网关讲解 用来替换应用层信息 Client1使用FTP主动模式建立FTP 主动模式:服务器收到客户端发来的请求FTP的地址和端口 服务器使用20端口直接向客户端建…...
原生HTML放大镜
该放大区域用背景图片放大 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compat…...
C++——模板
文章目录1 泛型编程2 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的实例化2.3.1 隐式实例化2.3.1.1 定义2.3.1.2 代码演示2.3.1.3 运行结果2.3.1.4 缺点2.3.2 显式实例化2.3.2.1 格式2.3.2.2 代码演示2.3.2.3 运行结果2.4 模板参数的匹配原则2.4.12.4.22.4.33 类模板…...
Chapter2.1:线性表基础
该系列属于计算机基础系列中的《数据结构基础》子系列,参考书《数据结构考研复习指导》(王道论坛 组编),完整内容请阅读原书。 1.线性表的定义和基本操作 1.1 线性表的定义 线性表是具有相同数据类型的n(n≥0)n(n≥0)n(n≥0)个数据元素的有限序列&…...
Spring源码解析-Spring 循环依赖
Spring源码解析简图: Spring 如何解决循环依赖,⽹上的资料很多,但是感觉写得好的极少,特别是源码解读⽅⾯,我就⾃⼰单独出⼀ 篇,这篇⽂章绝对肝! 文章目录: 一. 基础知识 1.1 什么…...
从零开始学架构——架构设计的目的
软件架构的历史背景 软件架构真正流行是从20世纪90年代开始的,由于在Rational和Microsoft内部的相关活动,软件架构的概念开始越来越流行。 卡内基梅隆高校的玛丽肖(Mary Shaw)和戴维加兰 (David Garlan)对软件架构做了许多讨论,他们在 1994 年的一篇文章…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
