前提条件:
已经安装好CDH,Kafka,Kerberos并使用
测试集成kerberos的kafka使用
- 为linux创建用户
useradd -m user001
- 修改liunx用户user01的密码
centos 修改密码方式为 :echo “新密码” | passwd 用户名 --stdin
echo "admin" | passwd user001 --stdin
- List item
创建kerberos用户
kadmin.local -q "addprinc -pw admin user001"
admin 为密码
user001 为用户名
- 生成用户keytab文件
先执行
kadmin.local
然后指定.keytab文件输出路径输出:
ktadd -k /opt/soft/user001/user001.keytab -norandkey user001
会有一个keytab文件
- 指定目录创建 jaas-keytab.conf
KafkaClient{
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/opt/soft/user001/user001.keytab"
principal="user001";
};
- 指定目录创建kafka客户端 client.properties
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
- 配置/etc/profile
export KAFKA_OPTS="-Djava.security.auth.login.config=/opt/soft/kafkakerberos/jaas-keytab.conf"
生效
source /etc/profile
- 在client.properties使用kafka命令测试使用
kafka生产者
kafka-console-producer --broker-list ip:9092 --topic test01 --producer.config client.properties
kafka消费者
kafka-console-consumer --topic test01 --from-beginning --bootstrap-server ip:9092 --consumer.config client.properties