對應kafka集群開啟認證以后,客戶端(包括kafka自帶擋命令)如果想要訪問訪問,需要做如下操作:
1、創建一個jaas.conf
文件格式如下:
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="<path-to-the-keytab-file>" # keytab 文件路徑,如果是ambari安裝的,那么可以直接使用conf下的jaas.conf文件
principal="<kafka-principal>"; #認證的主題
};
2、創建個配置文件(如consumer.properties),當然也可以配置在{KAFAK_HOME}/conf/consumer.properties文件最后面,用於消費主題時指定的一些配置,如下:
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka #這個指定kerberos的域名,不是主機的ip地址
3、配置KAFKA_OPTS
$ export KAFKA_OPTS="-Djava.security.auth.login.config=<path-to-jaas.conf>" #<path-to-jaas.conf> 這個是上訴配置的jaas.conf文件的路徑
4、執行對應的命令
kafka-console-consumer --topic <topic-name> --from-beginning
--bootstrap-server <anybroker>:9092 --consumer.config consumer.properties