kafka+kerberos认证后生产消费问题
前提:操作机已经通过kinit -kt方式认证一、生产者1、创建jaas.conf,向其添加内容:KafkaClient{com.sun.security.auth.module.Krb5LoginModule requireduseTicketCache=true;};2、将jaas.conf添加到环境变量export KAFKA_OPTS="-Djava.security.auth.login
前提:操作机已经通过kinit -kt方式认证
一、生产者
1、创建jaas.conf,向其添加内容:
KafkaClient{
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true;
};
2、将jaas.conf添加到环境变量
export KAFKA_OPTS="-Djava.security.auth.login.config=/home/klapp/jaas.conf"
3、创建生产者配置文件producer.properties,并添加以下内容:
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
4、开启生产者
kafka-console-producer --broker-list test-hadoop-pc6:9092 --topic ax --producer.config producer.properties
二、消费者
1、创建消费者配置文件consumer.properties,并添加以下内容:
security.protocol=SASL_PLAINTEXT
sasl.mechanism=GSSAPI
sasl.kerberos.service.name=kafka
group.id=test-consumer-group
2、开启消费者
kafka-console-consumer --bootstrap-server test-hadoop-pc6:9092 --topic ax --consumer.config consumer.properties
在这里补充下java消费者客户端消费时出现的认证问题,下面看这个错误:
the client is being asked for a password.
下面给出可用的jaas.conf配置
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
keyTab="/root/kafka_client/ax.keytab"
principal="ax@kunlun.prod";
};
以及消费者客户端的安全认证相关配置
更多推荐
所有评论(0)