深入浅出系列之 -- Kafka最佳部署实践

    这是一篇关于 Kafka 实践的文章,内容来自 DataWorks Summit/Hadoop Summit(Hadoop Summit)上的一篇分享,里面讲述了很多关于 Kafka 配置、监控、优化的内容,绝对是在实践中总结出的精华,有很大的借鉴参考意义,本文主要是根据 PPT 的内容进行翻译及适当补充。

Kafka 的架构这里就不多做介绍了,直接步入正题。

 

Kafka 基本配置及性能优化

这里主要是 Kafka 集群基本配置的相关内容。

硬件要求

Kafka 集群基本硬件的保证

OS 调优

  • OS page cache:应当可以缓存所有活跃的 Segment(Kafka 中最基本的数据存储单位);

  • fd 限制:100k+;

  • 禁用 swapping:简单来说,swap 作用是当内存的使用达到一个临界值时就会将内存中的数据移动到 swap 交换空间但是此时,内存可能还有很多空余资源,swap 走的是磁盘 IO,对于内存读写很在意的系统,最好禁止使用 swap 分区

  • TCP 调优

  • JVM 配置

    • JDK 8 并且使用 G1 垃圾收集器

    • 至少要分配 6-8 GB 的堆内存

 

Kafka 磁盘存储

  • 使用多块磁盘,并配置为 Kafka 专用的磁盘;

  • JBOD vs RAID10;

  • JBOD(Just a Bunch of Disks,简单来说它表示一个没有控制软件提供协调控制的磁盘集合,它将多个物理磁盘串联起来,提供一个巨大的逻辑磁盘,数据是按序存储,它的性能与单块磁盘类似)

  • JBOD 的一些缺陷:

    • 任何磁盘的损坏都会导致异常关闭,并且需要较长的时间恢复;

    • 数据不保证一致性;

    • 多级目录;

  • 社区也正在解决这么问题,可以关注 KIP 112、113:

    • 必要的工具用于管理 JBOD;

    • 自动化的分区管理;

    • 磁盘损坏时,Broker 可以将 replicas 迁移到好的磁盘上;

    • 在同一个 Broker 的磁盘间 reassign replicas;

  • RAID 10 的特点:

    • 可以允许单磁盘的损坏;

    • 性能和保护;

    • 不同磁盘间的负载均衡;

    • 高命中来减少 space;

    • 单一的 mount point;

  • 文件系统:

    • 使用 EXT 或 XFS;

    • SSD;

 

基本的监控

Kafka 集群需要监控的一些指标,这些指标反应了集群的健康度。

  • CPU 负载;

  • Network Metrics;

  • File Handle 使用;

  • 磁盘空间;

  • 磁盘 IO 性能;

  • GC 信息;

  • ZooKeeper 监控。

 

Kafka replica 相关配置及监控

Kafka Replication

  • Partition 有两种副本:Leader,Follower;

  • <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值