加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

行使Scala开拓Apache Kafka的TOP 20大好用实践

发布时间:2018-08-29 11:21:12 所属栏目:教程 来源:赵钰莹
导读:本文作者是一位软件工程师,他对20位开拓职员和数据科学家行使Apache Kafka的方法举办了最大限度得深入研究,最终将出产实践环节必要留意的题目总结为本文所列的20条提议。 Apache Kafka是一个广受接待的漫衍式流媒体平台,New Relic、Uber以及Square等数

7、设置出产者守候确认。 这就是出产者怎样知道动静现实已经发送到brocker上的分区。在Kafka 0.10.x中,配置为acks; 在0.8.x中,它是request.required.acks。Kafka通过复制提供容错成果,因此单个节点的妨碍或分区leader的变动不会影响可用性。假如将出产者设置为没有ack(也称为“fire and forget”),则动静也许会无声地丢失。

8、设置出产者重试次数。默认值为3,凡是太低。正确的值取决于需求,对付无法容忍数据丢失的应用措施,请思量Integer.MAX_VALUE(现实上是无限大),这可以防备leader分区的brocker无法当即相应出产哀求。

9、对付高吞吐量出产者,调解缓冲区巨细,出格是buffer.memory和batch.size(以字节为单元)。因为batch.size是按分区配置的,因此出产者机能和内存行使量可与topic中的分区数相干联。这里的值取决于几个身分:出产者数据速度(动静的巨细和数目),天生的分区数以及可用的内存量。请记着,较大的缓冲区并不老是好的,假如出产者因为某种缘故起因而搁浅(譬喻,一个率领者通过确认相应较慢),在堆上缓存更大都据也许会导致更多垃圾网络。

10、拟定应用措施跟踪指标,譬喻天生的动静数,均匀天生的动静巨细和耗损的动静数。

第四部门:brocker最佳实践!

11、Topic必要brocker的内存和CPU资源,日记压缩必要brocker上的堆(内存)和CPU周期才气乐成完成,而且失败的日记压缩会使brocker处于无穷增添的分区风险中。你可以在brocker上行使tunelog.cleaner.dedupe.buffer.size和log.cleaner.threads,但请记着,这些值会影响brocker上的堆行使环境。假如brocker抛出OutOfMemoryError非常,它将封锁并也许丢失数据。缓冲区巨细和线程数将取决于要整理的主题分区数目以及这些分区中动静的数据速度和密钥巨细。从Kafka 0.10.2.1版本开始,监督日记整理措施日记文件以查找ERROR条目是检测日记整理措施线程题目的最靠得住要领。

12、监控brocker的收集吞吐量。确保行使发送(TX)和吸取(RX),磁盘I/O,磁盘空间和CPU行使率来执行此操纵。容量筹划是维护集群机能的要害部门。

13、在集群中的brocker之间分派分区leader,其必要大量的收集I/O资源。譬喻,当行使复制因子3运行时,leader必需吸取分区数据,并同步转达给全部副本,再传输给想要行使该数据的斲丧者。因此,在这个例子中,作为率领者,在行使收集I/O方面至少是follower的四倍,leader必需从磁盘读取,follower只必要写。

14、不要忽略监督brocker的同步副本(ISR)缩减,一再不敷的分区和不受接待的lesder。这些是集群中隐藏题目的迹象。譬喻,单个分区的频仍ISR紧缩也许表白该分区的数据速度高出了leader为斲丧者和副本线程提供处事的手段。

15、按照必要修改Apache Log4j属性。Kafka署理日记记录也许会占用过多磁盘空间。可是,不要完全放弃日记记录,brocker日记也许是在变乱产生后重建变乱序列的最佳方法,偶然也是独一方法。

16、禁用topic自动建设有关的明晰计策,按期整理未行使的topic。譬喻,假如x天没有看到任何动静,请思量topic失效并将其从集群中删除,这样可以停止在集群中建设必需打点的其他元数据。

17、对付一连的高吞吐量署理,请提供足够的内存以停止从磁盘体系读取,应尽也许直接从操纵体系的文件体系缓存中提供分区数据。可是,这意味着必需确保斲丧者可以或许跟上,滞后的斲丧者将迫使brocker从磁盘读取。

18、对付具有高吞吐量处事级别方针(SLO)的大型集群,请思量将topic断绝到brocker子集。怎样确定要断绝的topic取决于营业需求,譬喻,假若有多个行使沟通集群的联机事宜处理赏罚(OLTP)体系,则将每个体系的topic断绝到brocker的差异子集以辅佐限定变乱的隐藏爆炸半径。

19、行使较新topic动静名目标旧客户端(反之亦然)会在brocker客户端转换名目时对brocker措施施加特殊承担,尽也许停止这种环境。

20、不要以为在当地台式机上测试brocker代表在现实出产情形中的机能。行使复制因子1对分区的环回接口举办测试是与大大都出产情形完全差异的拓扑。通过环回可以忽略收集耽误,而且在不涉及复制时,吸取leader确认所需的时刻也许会有很大差别。

【编辑保举】

  1. Apache Kafka怎样让流数据进入主流
  2. 什么时辰该用RabbitMQ ,什么时辰该用 Apache Kafka
  3. 适用 | 从Apache Kafka到Apache Spark安详读取数据
  4. Apache Kafka:大数据的及时处理赏罚期间
  5. KSQL,用于Apache Kafka的流数据SQL引擎
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读