[root@es-master21 mnt]# docker exec -it kafka bash bash-5.1# kafka-topics.sh --create --zookeeper 192.168.1.21:2181,192.168.1.22:2181,192.168.1.23:2181 --replication-factor 3 --partitions 3 --topic test Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 9966; nested exception is: java.net.BindException: Address in use (Bind failed) sun.management.AgentConfigurationError: java.rmi.server.ExportException: Port already in use: 9966; nested exception is: java.net.BindException: Address in use (Bind failed) at sun.management.jmxremote.ConnectorBootstrap.startRemoteConnectorServer(ConnectorBootstrap.java:480) at sun.management.Agent.startAgent(Agent.java:262) at sun.management.Agent.startAgent(Agent.java:452) Caused by: java.rmi.server.ExportException: Port already in use: 9966; nested exception is: java.net.BindException: Address in use (Bind failed)解决方法:
Kafka的脚本文件kafka-run-class.sh在容器中/opt/kafka_2.13-2.6.0/bin/路径下,由于我搭建Kafka集群时已经将容器内该脚本文件路径与宿主机目录映射,所以直接修改宿主机目录下脚本文件即可。
[root@es-master21 mnt]# vim /mnt/kafka/kafka-run-class.sh ...... 40 file= 41 if [ -z "$(echo "$file" | egrep "$regex")" ] ; then 42 return 0 43 else 44 return 1 45 fi 46 } ------加入以下4行配置------ - 47 ISKAFKASERVER="false" - 48 if [[ "$*" =~ "kafka.Kafka" ]]; then - 49 ISKAFKASERVER="true" - 50 fi ------------以上----------- 51 base_dir=$(dirname )/.. 52 53 if [ -z "$SCALA_VERSION" ]; then 54 SCALA_VERSION=2.13.2 55 if [[ -f "$base_dir/gradle.properties" ]]; then 56 SCALA_VERSION=`grep "^scalaVersion=" "$base_dir/gradle.properties" | cut -d= -f 2` 57 fi 58 fi ...... 187 # JMX settings 188 if [ -z "$KAFKA_JMX_OPTS" ]; then 189 KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false - Dcom.sun.management.jmxremote.ssl=false " 190 fi 191 192 # JMX port to use - 193 #if [ $JMX_PORT ]; then #注释掉这一行 - 194 if [ $JMX_PORT ] && [ -z "$ISKAFKASERVER" ]; then #添加这一行新的配置进去 195 KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT " 196 fi 197 198 # Log directory to use 199 if [ "x$LOG_DIR" = "x" ]; then 200 LOG_DIR="$base_dir/logs" 201 fi ......↓↓↓↓↓↓
最近刚申请了个微信公众号,上面也会分享一些运维知识,大家点点发财手关注一波,感谢大家。 【原创公众号】:非著名运维 【福利】:公众号回复 “资料” 送运维自学资料大礼包哦!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)