apache-kafka - example - kafka partitions
Habilitar JMX en Kafka Brokers (6)
Debe establecer la variable ''JMX_PORT'' o agregar la siguiente línea a bin / kafka-server-start.sh.
export JMX_PORT=${JMX_PORT:-9999}
entonces podrá conectarse a las métricas de Kafka JMX. Uso la herramienta jconsole y la dirección ''localhost: 9999''.
He habilitado JMX en los corredores Kafka agregando
`KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=<server_IP>
-Djava.net.preferIPv4Stack=true`“.
Sin embargo, cuando uso ''kafka.tools.JmxTool'' para obtener las métricas, se imprimen marcas de tiempo de Unix que no son el comportamiento esperado.
sh /usr/local/kafka/bin/kafka-run-class.sh kafka.tools.JmxTool -- object-name ''kafka.server:type=BrokerTopicMetrics,name=AllTopicsMessagesInPerSec'' --jmx-url service:jmx:rmi:///jndi/rmi://<server_IP>:9111/jmxrmi
El comando anterior imprime las marcas de tiempo de Unix. ¿Cómo puedo solucionar esto y hacer que imprima las métricas?
Edita bin / kafka-run-class.sh y configura la variable KAFKA_JMX_OPTS
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=your.kafka.broker.hostname -Djava.net.preferIPv4Stack=true"
Actualice bin / kafka-server-start.sh agregue la siguiente línea
export JMX_PORT=PORT
La configuración de JMX_PORT
dentro de bin/kafka-run-class.sh
con Zookeeper, si está ejecutando Zookeeper en el mismo nodo. Lo mejor es configurar el puerto JMX
individualmente dentro server-start
scripts de server-start
correspondientes:
- Inserte la línea
“export JMX_PORT=${JMX_PORT:-9998}”
antes de la última línea en el$KAFKA_HOME/bin/zookeeper-server-start.sh
. - Reinicie el servidor Zookeeper.
- Repita los pasos 1 y 2 para todos los nodos de zookeeper en el clúster.
- Inserte la línea
“export JMX_PORT=${JMX_PORT:-9999}”
antes de la última línea en el$KAFKA_HOME/bin/kafka-server-start.sh
. - Reinicie el corredor de Kafka.
- Repita los pasos 4 y 5 para todos los corredores en el clúster.
Si está ejecutando a través de systemd:
- edite /etc/systemd/system/multi-user.target.wants/kafka.service
- en la sección "[servicio]" agregue una línea:
- Ambiente = JMX_PORT = 9989
- reload:
systemctl daemon-reload
- reiniciar:
systemctl restart kafka
- Disfruta los frijoles:
echo ''beans'' | java -jar jmxterm-1.0-alpha-4-uber.jar -l localhost:9989 -n 2>&1
echo ''beans'' | java -jar jmxterm-1.0-alpha-4-uber.jar -l localhost:9989 -n 2>&1
Utilice kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
El prefijo AllTopics
se usó en versiones anteriores. Puede especificar el tema usando kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic=<topic-name>
src: http://grokbase.com/t/kafka/users/164ksnhff0/enable-jmx-on-kafka-brokers
vim kafka_2.11-0.10.1.1/bin/kafka-run-class.sh
y luego agregue las dos primeras líneas y comente como lo he hecho con otras líneas, (Nota: después de hacer esto, los scripts Kafka no se pueden usar para las operaciones del cliente para listar temas ... para las operaciones de su cliente, necesita usar scripts separados, vuelva a descargar en diferentes lugares y uso)
export JMX_PORT=9096
KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=<ipaddress> -Dcom.sun.management.jmxremote.port=$JMX_PORT -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
# 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 ]; then
# KAFKA_JMX_OPTS="$KAFKA_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
#fi