Не удалось перечислить темы кафки в kubernetes после добавления jmx__javaagent

У меня есть бегущая стручок кафки в моем кластере kubernetes. Для получения пользовательских метрик в формате Prometheus я настроил jmx_prometheus_javaagent и назначил порт 2255. И я могу перечислить метрики из localhost:2255/metrics.

Вопрос в том, что после этого я не могу перечислить темы кафки. Получение следующей ошибки:


bash-4.3# /opt/kafka/bin/kafka-topics.sh --list --zookeeper dz-zookeeper:2181

Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at sun.net.httpserver.ServerImpl.bind(ServerImpl.java:133)
at sun.net.httpserver.HttpServerImpl.bind(HttpServerImpl.java:54)
at io.prometheus.jmx.shaded.io.prometheus.client.exporter.HTTPServer.<init>(HTTPServer.java:145)
at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:49)
FATAL ERROR in native method: processing of -javaagent failed

Прервано (ядро сброшено)


Есть идеи, как решить эту ошибку?

1 ответ

Вы настроили его так, чтобы агент java загружался не только для сервера kafka, но и для всех инструментов командной строки. Вы должны изменить свою конфигурацию, чтобы она загружалась только для сервера.

Получите идентификатор контейнера брокера kafka с помощью docker ps

Затем запустите команду kafka для этого контейнера из командной строки следующим образом:

docker exec -it CONTAINERID /bin / bash -c "KAFKA_OPTS= && kafka-themes --zookeeper 127.0.0.1:2181 --list"

Измените КОНТЕЙНЕРИД и адрес смотрителя зоопарка в соответствии с вашей средой.

Другие вопросы по тегам