gpt4 book ai didi

docker - 使JMX与Spotify/Kafka Docker镜像一起使用

转载 作者:行者123 更新时间:2023-12-02 20:17:21 25 4
gpt4 key购买 nike

我正在尝试让JMX与spotify/kafka Docker镜像一起使用。

我有一个docker-compose.yml:

version: '2'
services:
my-kafka:
image: spotify/kafka # Using this instead of wurstmeister's because it didn't work with /var/run/docker.sock on Windows while this one has integrated ZK and works
hostname: my-kafka
restart: unless-stopped
ports:
- "9092:9092" # Kafka
- "2181:2181" # Zookeeper
- "7203:7203" # JMX
environment:
KAFKA_ADVERTISED_HOST_NAME: my-kafka
KAFKA_ADVERTISED_PORT: 9092
KAFKA_OPTS: "-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.rmi.port=7203 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=my-kafka"

然后,我尝试使用 jconsole my-kafka:7203对其进行测试,并获得“连接失败:在JRMP连接建立期间出错;嵌套的异常是:java.io.EOFException。立即。相比之下,使用不存在的主机将导致“未知主机”,而将另一个端口导致“连接被拒绝”。
docker ps显示:
692eb6659aba        spotify/kafka                 "supervisord -n"         10 minutes ago      Up 10 minutes               0.0.0.0:2181->2181/tcp, 0.0.0.0:7203->7203/tcp, 0.0.0.0:9092->9092/tcp                       docker_my-kafka_1

容器内的 ps aux显示:
root        11  1.8  3.3 5718844 274608 ?      Sl   06:16   0:12 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+DisableExplicitGC -Djava.awt.headless=true -Xloggc:/opt/kafka_2.11-0.10.1.0/bin/../logs/kafkaServer-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false ...offtopic skipped... -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.rmi.port=7203 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=my-kafka kafka.Kafka /opt/kafka_2.11-0.10.1.0/config/server.properties

容器日志无聊,甚至没有提到JMX,以“kafka进入RUNNING状态,进程已停留超过1秒(startsecs)”结束。

有一个相关的问题 kafka monitoring using JMX when running kafka in docker in boot2docker,但我更愿意坚持使用 spotify/kafka,以便ZK和Kafka驻留在同一容器中。

最佳答案

您可以尝试在属性中指定主机地址(运行docker run的位置):

-Djava.rmi.server.hostname=xx.xx.xx.xx

关于docker - 使JMX与Spotify/Kafka Docker镜像一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41658487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com