KAFKA console consumer和producer在开启kerberos的集群中使用
本文介绍在开启kerberos的集群中使用kafka客户端进行生产和消费。
- JAAS配置文件
- 配置环境变量
- 客户端属性文件,用于指定要使用的身份验证机制和使用者组
目录
JAAS配置文件
新建jaas.conf 文件vi jaas.conf
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
serviceName=”kafka”
keyTab=”/absolute_path/to_your_keytab_file”
principal=”user@realm”;
};
或者如果你希望使用保留在票证缓存中的Kerberos票证,使用以下内容
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true;
};
添加KAFKA_OPTS环境变量
export KAFKA_OPTS = “ - Djava.security.auth.login.config = / path_to_jaas_conf_file”
新建Client.Properties文件
vi client.Properties
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
Producer
如果您在JAAS中使用ticketCache方法,则需要先做一件事,即kinit。
kinit user @ realm
producer命令:
kafka-console-producer –broker-list
<
kafka_broker_server_hostname>
:<
port>
topic<
topic_name>
–producer.config client.properties –security-protocol SASL_PLAINTEXT
consumer
kafka-console-consumer –bootstrap-server
<
kafka_broker_server_hostname>
:<
port>
–topic<
topic_name>
–consumer.config client.properties
参考
http://www.irfanelahi.com/data-science/kafka-console-consumer-producer-kerberos-hadoop/