简体   繁体   中英

Kafka fails to start while configuring JMX exporter

I am trying to setup JMX exporter for Kafka running on a compute Instance (CentOS 7).

I downloaded the JMX Exporter jar and the Kafka yaml from the following location.

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.12.0/jmx_prometheus_javaagent-0.12.0.jar
wget https://raw.githubusercontent.com/prometheus/jmx_exporter/master/example_configs/kafka-0-8-2.yml

I set the below environment variables in the "/etc/systemd/system/kafka.service" file as below:

Environment="KAFKA_OPTS=$KAFKA_OPTS -javaagent:/home/kafka_user/jmx_kafka_exporter/jmx_prometheus_javaagent-0.12.0.jar=7070:/home/kafka_user/jmx_kafka_exporter/kafka-0-8-2.yml"

After performing a reload and restart; Kafka fails to start.

Would highly appreciate any suggestions to run JMX exporter for Kafka hosted on a compute instance.

Thank you in Advance,

sudo systemctl daemon-reload
sudo systemctl restart kafka

sudo systemctl status kafka
● kafka.service - Kafka Daemon
Loaded: loaded (/etc/systemd/system/kafka.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since Thu 2020-03-26 06:05:52 UTC; 935ms ago
Process: 9842 ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties (code=exited, status=1/FAILURE)
Main PID: 9842 (code=exited, status=1/FAILURE)

Mar 26 06:05:51 kafka1.com systemd[1]: Unit kafka.service entered failed state.
Mar 26 06:05:51 kafka1.com systemd[1]: kafka.service failed.
Mar 26 06:05:52 kafka1.com systemd[1]: kafka.service holdoff time over, scheduling restart.
Mar 26 06:05:52 kafka1.com systemd[1]: Stopped Kafka Daemon.
Mar 26 06:05:52 kafka1.com systemd[1]: start request repeated too quickly for kafka.service
Mar 26 06:05:52 kafka1.com systemd[1]: Failed to start Kafka Daemon.
Mar 26 06:05:52 kafka1.com systemd[1]: Unit kafka.service entered failed state.
Mar 26 06:05:52 kafka1.com systemd[1]: kafka.service failed.

cat /etc/systemd/system/kafka.service

[Unit]
Description=Kafka Daemon
Requires=network.target
After=network.target

[Service]
LimitNOFILE=65536
Environment="JMX_PORT=5555"
Environment="KAFKA_OPTS=-javaagent:/home/kafka_user/jmx_kafka_exporter/jmx_prometheus_javaagent-0.12.0.jar=7070:/home/kafka_user/jmx_kafka_exporter/kafka-2_0_0.yml"
Type=simple
User=kafka
Group=kafka
UMask=0027
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Restart=on-failure

[Install]
WantedBy=multi-user.target

After i updated the path of "jmx_kafka_exporter" from "/home/kafka_user/jmx_kafka_exporter/" to "/opt/jmx_kafka_exporter/" in the "/etc/systemd/system/kafka.service" file.

Reload and restart of Kafka worked smoothly and i see the jmx_kafka_exporter shooting logs at the port 7070

netstat -ntlp | grep 70
tcp        0      kafka1:7070            0.0.0.0:*               LISTEN      3536/java           
tcp6       0      0 :::111                  :::*                    LISTEN      1708/rpcbind  


curl http://kafka1:7070/metrics

# HELP jvm_info JVM version info
# TYPE jvm_info gauge
jvm_info{version="1.8.0xx",vendor="XYZ",runtime="Java(TM) SE Runtime Environment",} 1.0
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 5.55
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
......
jvm_buffer_pool_used_buffers{pool="direct",} 4.0
jvm_buffer_pool_used_buffers{pool="mapped",} 0.0
# HELP jmx_config_reload_success_total Number of times configuration have successfully been reloaded.
# TYPE jmx_config_reload_success_total counter
jmx_config_reload_success_total 0.0

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM