1、kafka-manager
下载kafka-manager包,进行解压、修改配置、启动
[root@localhost csdn]# unzip kafka-manager-1.3.3.7.zip
[root@localhost csdn]# vim kafka-manager-1.3.3.7/conf/application.conf
修改kafka-manager.zkhosts为zookeeper集群地址即可
启动命令
kafka-manager-1.3.3.7/bin/kafka-manager
或指定配置文件、端口启动
nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9000
2、电商线上环境举例
kafka是scala语言开发,运行在JVM上,需要对JVM参数合理设置,修改bin/kafka-start-server.sh中的jvm设置,假设机器是32G内存,可以如下设置:
export KAFKA_HEAP_OPTS="-Xmx16G -Xms16G -Xmn10G -XX:MetaspaceSize=256M -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=16M"
这种大内存的情况一般都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间,当然,因为像kafka,rocketmq,es这些中间件,写数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的缓存留出几个G。
3、线上问题优化
3.1 消息丢失
消息发送端:
(1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继