08 | 最最最重要的集群参数配置(下)
该思维导图由 AI 生成,仅供参考
Topic 级别参数
- 深入了解
- 翻译
- 解释
- 总结
Kafka集群搭建关键参数设置包括Topic级别参数和JVM参数。文章首先强调了Topic级别参数的重要性,提供了关键参数如`retention.ms`和`max.message.bytes`,并建议使用`kafka-configs`脚本设置。其次,详细讨论了JVM参数设置,建议将堆大小设置为6GB,并根据Java版本选择合适的垃圾回收器。此外,还介绍了操作系统参数的设置,包括文件描述符限制、文件系统类型、swap调优和提交时间。总的来说,文章提供了实用的配置建议和操作指南,适用于读者快速了解Kafka集群搭建的关键参数设置。
《Kafka 核心技术与实战》,新⼈⾸单¥68
全部留言(78)
- 最新
- 精选
- 丰富G1是jdk9中默认的,jdk8还是需要显式指定的
作者回复: 嗯嗯,笔误了。多谢纠正 :)
2019-06-20395 - saup007修改 Topic 级 max.message.bytes,还要考虑以下两个吧? 还要修改 Broker的 replica.fetch.max.bytes 保证复制正常 消费还要修改配置 fetch.message.max.bytes
作者回复: 是的,您考虑得很全面:)
2019-06-21483 - Hello world老师说的无脑配置给jvm heap 6G大小,这应该也看机器的吧,现在机器的内存也越来越大,我们这的机器都是64G 内存,配了16G的heap,老师觉得可以优化吗
作者回复: 虽然无脑推荐6GB,但绝不是无脑推荐>6GB。一个16GB的堆Full GC一次要花多长时间啊,所以我觉得6GB可以是一个初始值,你可以实时监控堆上的live data大小,根据这个值调整heap size。只是因为大内存就直接调整到16GB,个人觉得不可取。 另外堆越小留给页缓存的空间也就越大,这对Kafka是好事啊。
2019-06-20649 - 赌神很低调胡老师,kafka认为写入成功是指写入页缓存成功还是数据刷到磁盘成功算成功呢?还是上次刷盘宕机失败的问题,页缓存的数据如果刷盘失败,是不是就丢了?这个异常会不会响应给生产者让其重发呢?
作者回复: 写入到页缓存即认为成功。如果在flush之前机器就宕机了,的确这条数据在broker上就算丢失了。producer端表现如何取决于acks的设定。如果是acks=1而恰恰是leader broker在flush前宕机,那么的确有可能消息就丢失了,而且producer端不会重发——因为它认为是成功了。
2019-06-24735 - cricket1981kafka streams或者ksql的性能参数调优有什么建议和参考资料吗?
作者回复: Kafka Streams的性能调优建议:https://www.confluent.io/blog/optimizing-kafka-streams-applications KSQL本专栏不会涉及,目前我也给不出相应的建议,因为我。。。。我也不会😳
2019-06-2125 - 小头针胡老师,在本课程最后留的问题,又成功的引起了我的注意,我曾经因为kafka假死,不知原因为何,而尝试过设置Broker的内存为(32G/256G),然而进程假死更加频繁(后面检测是那个版本存在线程死锁)。后来还是设置为16G了。当然我这真真的是无脑设置。我也看到了评论了胡老师的建议,很值得参考。 另外,胡老师在这节课里,讲到了页缓存,我想请问一下这个页缓存它存在的意义和作用,以及它在整个过程中的机制又是怎样的呢?
作者回复: 页缓存属于磁盘缓存(Disk cache)的一种,主要是为了改善系统性能。重复访问磁盘上的磁盘块是常见的操作,把它们保存在内存中可以避免昂贵的磁盘IO操作。 既然叫页缓存,它是根据页(page)来组织的内存结构。每一页包含了很多磁盘上的块数据。Linux使用Radix树实现页缓存,主要是加速特定页的查找速度。另外一般使用LRU策略来淘汰过期页数据。总之它是一个完全由内核来管理的磁盘缓存,用户应用程序通常是无感知的。 如果要详细了解page cache,可以参见《Understanding the Linux Kernel》一书的第15章
2019-06-26523 - theivanxu最近环境中有一台3G堆内存的节点在某个topic handle request的时候一直OOM,调整到5G重启后恢复正常,很想知道如何评判堆内存大小设置的标准。
作者回复: 没有通用的标准,只有一个最佳实践值:6GB。最好还是监控一下实时的堆大小,特别是GC之后的live data大小,通常将heapsize设置成其1.5~2倍就足以了
2019-06-2017 - 张振宇老师,怎么能限制消费者的消费速度,或者限制消费带宽啊,
作者回复: 这是我之前写的,可以参考下:https://www.cnblogs.com/huxi2b/p/8609453.html
2019-11-19313 - 张洋老师我想问下,写入到pageCache 根据配置的时间‘脏数据’Flush到磁盘,kafka 把数据同步到磁盘只在这个地方做吗。意思是:只有每次‘判断’的脏数据才入盘吗,其他的数据呢?
作者回复: Kafka其实只是把数据写入到pagecache中,后面的刷盘是由os完成的,什么时候刷,刷那些数据都是由os决定
2020-05-1111 - 王晨光老师,kafka消费段,过一段时间jvm内存就会超过设置上线,有什么好的思路调整吗
作者回复: OOM的问题首先看下到底是那OOM的问题可以这样排查: 1. 到底是哪部分内存。大部分是堆溢出 2. 如果是heap溢出,主要看stacktrace,看看到底是哪段代码导致的 3. 再看导致的原因,到底是内存泄露还是内存溢出。这两者是有区别的。前者是程序写的有问题,后者是程序确实需要这么多内存,那么只能增加heap size 不管怎么样,你可以先增加一下heap size试试,如果还是OOM,那么很有可能出现了内存泄露
2020-04-1311