4 回答

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
在我找到的所有解決方案中,它幫助我將 KAFKA_OPTS 變量更改為 EXTRA_ARGS。但我還是不明白沖突的原因。Kafka 在一個(gè)端口上運(yùn)行,javaagent 在另一個(gè)端口上運(yùn)行。但盡管如此,在創(chuàng)建主題時(shí)卻出現(xiàn)錯(cuò)誤。我用來傳遞 Prometheus 指標(biāo)的 Javaagent

TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
Kafka CLI 腳本使用與代理使用的相同的環(huán)境變量(特別是KAFKA_OPTS和JMX_PORT)。這就是他們沖突的原因。我正在使用匯合容器(confluentinc/cp-server:5.5.1):
JMX_PORT: 9991
KAFKA_OPTS: "-javaagent:/usr/local/bin/jmx_prometheus_javaagent-0.13.0.jar=7071:/etc/jmx-exporter/kafka-2_0_0.yml"
volumes:
- ./jmx_exporter/kafka-2_0_0.yml:/etc/jmx-exporter/kafka-2_0_0.yml
- ./jmx_exporter/jmx_prometheus_javaagent-0.13.0.jar:/usr/local/bin/jmx_prometheus_javaagent-0.13.0.jar
很多線程都指向JMX_PORTonly 但這對我沒有幫助。在能夠運(yùn)行 CLI 命令之前,我必須從容器內(nèi)部取消設(shè)置兩個(gè)環(huán)境變量。它的工作原理如下:
unset JMX_PORT
unset KAFKA_OPTS
kafka-run-class kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic your_topic
它不會(huì)破壞您的代理,因?yàn)檫@些變量是按會(huì)話設(shè)置的。

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
啟用 JMX 時(shí),kafka-topics.sh 和 kafka-console- Producer.sh 等工具會(huì)失敗。這是由于 JMX_PORT 環(huán)境變量引起的。Kafka 幫助程序腳本 /opt/kafka/bin/kafka-run-class.sh 將嘗試在 JMX 綁定到指定端口的新 JVM 中調(diào)用所需的命令。由于已在容器中運(yùn)行的代理 JVM 綁定了此端口,因此該進(jìn)程失敗并錯(cuò)誤退出。
解決方案是在命令前添加 JMX_PORT= 前綴或取消設(shè)置環(huán)境變量,即取消設(shè)置 JMX_PORT

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
您的 Kafka 實(shí)例正在端口 7071 上偵聽舞會(huì)刮擦信息,這看起來不錯(cuò)。當(dāng)您發(fā)出 Kafka 命令時(shí),看起來您添加到 KAFKA_OPTS 的 javaagent 也在嘗試偵聽端口 7071。不確定為什么在那里需要 javaagent,但在那里嘗試不同的端口。
添加回答
舉報(bào)