是否在夜晚仰望星空呢?細數那些閃亮的星星,是否感覺多了一顆,某顆星塵墜落在周圍角落,
散發着微光,想要幫你驅散掉周遭的黑暗。
準備工作
kafka集羣版本:0.11.0.0,(kafka_2.11-0.11.0.0)。
配置SASL/PLAIN認證加固kafka集羣。
kafkamanager版本:kafka-manager-2.0.0.2。
kafka認證的客戶端jaas.conf配置文件。
其中jaas.conf配置內容參考如下:
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="hyq"
password="hyqpass";
};
修改kafka-server-start.sh腳本
加入JMXPORT。export JMXPORT="9999",如下:
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx16G -Xms16G"
export JMX_PORT="9999"
fi
修改kafka-run-class.sh腳本
在JMX設置項中加入:-Djava.rmi.server.hostname=yourip。如下:
# 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 -Djava.rmi.server.hostname=當前kafka節點的ip地址 "
fi
修改manager配置並啓動
修改application.conf配置
設置zk集羣的地址。
設置manager界面認證的賬號和密碼
kafka-manager.zkhosts="ip1:port1,ip2:port2,ip3:port3"
basicAuthentication.username="hyq"
basicAuthentication.password="password"
啓動
啓動時,指定加載jaas配置
bin/kafka-manager -Djava.security.auth.login.config=/path/to/my-jaas.conf
界面配置認證
設置Security Protocol爲SASL_PLAINTEXT
設置SASL Mechanism爲PLAIN
設置SASL JAAS Config 爲:
org.apache.kafka.common.security.plain.PlainLoginModule required username='hyq' password='hyqpass';
疑難解答
先前一直疑惑,在jaas.conf中配置的是SASLPLAINTEXT ,爲什麼報錯PLAINTEXT找不到,原來是manager界面上默認配置的就是這個,需要在界面上手動修改爲SASLPLAINTEXT.
java.util.NoSuchElementException: key not found: PLAINTEXT
jmx默認去連接127.0.0.1導致連接被拒絕,需要在kafka-run-class.sh腳本中配置中加入:-Djava.rmi.server.hostname=yourip。
Failed to connect to service:jmx:rmi:///jndi/rmi://ip:9999/jmxrmi
java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused
界面配置jaas config時,記得最後加上分號(;),並且用戶名密碼使用單引號。如:org.apache.kafka.common.security.plain.PlainLoginModule required username='hyq' password='hyqpass';
Caused by: java.lang.IllegalArgumentException: Value not specified for key 'null' in JAAS config
本文分享自微信公衆號 - 俠夢的開發筆記(xmdevnote)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。