分享几个Kafka集群搭建过程中遇上的一些问题

kafka遇到的问题

    • kafka-run-class.sh(kafka启动服务)
    • 搭建kafka-manger

你好! 我是一个技术新手,在这记录一些我工作中遇到的问题,希望能帮助到别人,也方便自己以后反思一些问题。

kafka-run-class.sh(kafka启动服务)

kafka java.rmi.server.ExportException: Port already in usejava.rmi.server.ExportException: Port already in use: 9999; nested exception is:
java.net.BindException: 地址已在使用 (Bind failed)

在集群某个节点,如果在kafka-run-class.sh中添加了export JMX_PORT = 9999,先在该节点启动kafka-server-start.sh,之后在执行kafka /bin路径下的其它脚本都会报错,这时候需要修改kafka-run-class.sh中JMX_PORT的设置,找到原文件中的JMX settings和JMX port to use部分,替换为下面代码:

# need to check if called to start server or client
# in order to correctly decide about JMX_PORT
ISKAFKASERVER="false"
if [[ "$*" =~ "kafka.Kafka" ]]; then
    ISKAFKASERVER="true"
fi

# JMX settings
if [ -z "$KAFKA_JMX_OPTS" ]; then
  KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false "
fi

# JMX port to use
if [  $JMX_PORT ] && [ -z "$ISKAFKASERVER" ]; then
  KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
fi

if [ $ISKAFKASERVER = "true" ]; then
  JMX_REMOTE_PORT=$JMX_PORT
else
  JMX_REMOTE_PORT=$CLIENT_JMX_PORT
fi
if [ $JMX_REMOTE_PORT ]; then
  KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_REMOTE_PORT"
fi

搭建kafka-manger

网上搭建kafka-manager的博客很多,这里我就不多重复了,主要是记录一下我遇到的两个小问题。
1、kafka-manager需要kafka集群配置好JMX_PORT,配置后遇到的问题上面已经给出解决方案
2、修改conf/application.conf 的 kafka-manager.zkhosts
3、启动kafka-manager集群时,要把kafka-manager路径下的RUNNING_PID文件删除,如果没有RUNNING_PID,那就直接启动就行

参考地址:https://github.com/apache/kafka/pull/1983/commits/2c5d40e946bcc149b1a9b2c01eced4ae47a734c5

你可能感兴趣的:(Kafka,kafka)