文件系统选型
官方推荐 xfs, ext4 亦可,杜绝使用 ext3,ext3 删除数据非常慢,kafka 的性能瓶颈一般而言在磁盘,文件系统的选择非常重要,磁盘文件系统类型可以用 df -T 或者 mount 命令查看
最大文件打开数
线上因为文件句柄数过小导致进程报 Too many open files 退出,可以设置为 1000000,查看该参数使用命令 ulimit -n
磁盘挂载参数
官方推荐挂载数据盘时加上 noatime 参数,该参数在文件被读取时不会更新文件访问时间, kafka不依赖该时间,所以建议添加该参数减少读文件开销,磁盘挂载的具体参数可以用 mount 命令查看
尽量不要将应用日志输出到 kafka 数据盘
不管是 kafka 的日志还是其他应用日志不要和 kafka 的数据盘放在一起,让数据盘专注于kafka 数据的写入,减少对 kafka 顺序写数据的影响
JVM 配置
kafka 运行过程中会产生一些大对象,使用 ParNew + CMS 垃圾回收配置在线上出现过一些长时间 STW 的情况,导致 zk 连接断开等情况,推荐使用 G1 垃圾回收器,内存建议 -Xmx6G -Xms6G