使用kafka-manager遇到的坑

最近由于项目上有需求需要使用kafka,先翻了kafka的一些基础知识,然后自己搭了一个kafka单机环境,简单操作了kafka的读写。有了一些基本认识之后,想具体看看kafka内部对于消息的存储和处理,于是想看看有不有图形化客户端工具,谷歌之后,发现大多数网友都推荐的kafka-manager,于是我就按照这篇文章来配置了kafka-manager,但是中途还是遇到了几个问题

java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException

java.lang.IllegalArgumentException: requirement failed: No jmx port but jmx polling enabled!

java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException

第一个问题的解决方法是不要开启JMX with SSL这个功能。

第二个问题和第三个问题的解决方法是在kafka-run-class.sh中做如下修改 ```

JMX port to use

if [ $JMX_PORT ]; then KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Djava.net.preferIPv4Stack=true" KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT " fi ```

这里127.0.0.1是本地地址,同时在kafka-server-start.sh中做如下修改 if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" export JMX_PORT="9999" fi 这里主要要指定jmx的端口,否则会随机选择一个端口

除此之外,我还在/etc/hosts文件做了修改

127.0.0.1 your_hostname

经过这几步之后,应该问题就不会再出现了