kafka集群

  • 需要多少个broker
  • broker配置
  • 操作系统调优
    • 虚拟内存
    • 磁盘
    • 网络

{———-}

需要多少个broker

  • 两个因素:需要多少磁盘空间来保留数据、单个broker有多少空间可用
  • 例:复制系数为1,整个集群要保留10TB数据、每个broker可以保留2TB、那么需要5个broker、复制系数为2,那就需要10个broker

broker配置

  • 两个必须配置项:zookeeper.connect 、broker.id
  • 整个集群连接一个服务管理中心、每个broker.id 集群内唯一、如果重复第二个启动会失败

操作系统调优

  • 虚拟内存

    • kafkaa会利用虚拟机内存做页面缓存、减少与磁盘交互数据、减小延迟
    • 一般虚拟内存都会根据软件所需内存分配内存、如果分配不到了就是没有更多内存了
  • 磁盘

    • EXT4
    • XFS:提供更好的性能、不需要额外的调优、批量磁盘写入具有更高的效率、可以提升整体IO吞吐量,现linux发行版多采用该磁盘、较少的调优可以获取更大的工作负荷
  • 网络

    • tcp缓冲区
    • socket缓冲区
    • tcp时间窗 可以增加客户端传输数据效率、
    • net.ipv4.tcp_max_syn_backlog设置大于1024 可以接收更多的并发连接
    • net.core.netdev_max_backlog设置大于1000 有助于应对网络流量爆发、能允许更多的数据包排队等待内核处理