在Apache Kafka 6.0中,可以使用Kerberos身份验证(GSSAPI)来实现身份验证。在使用Pre Windows 2000名称格式时,可以按照以下步骤进行设置和配置:
sudo apt-get install krb5-user
kadmin.local -q "addprinc -randkey kafka/kafka.example.com@EXAMPLE.COM"
其中,kafka/kafka.example.com
是Kafka服务的主机名,EXAMPLE.COM
是Kerberos域。
kadmin.local -q "ktadd -k /etc/security/keytabs/kafka.keytab kafka/kafka.example.com@EXAMPLE.COM"
确保使用正确的路径和文件名。
listeners=SASL_PLAINTEXT://:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=GSSAPI
sasl.enabled.mechanisms=GSSAPI
sasl.kerberos.service.name=kafka
sasl.kerberos.kinit.cmd=/usr/bin/kinit
sasl.kerberos.keytab=/etc/security/keytabs/kafka.keytab
sasl.kerberos.min.time.before.relogin=60000
确保替换正确的路径和文件名。
Properties props = new Properties();
props.put("bootstrap.servers", "kafka.example.com:9092");
props.put("security.protocol", "SASL_PLAINTEXT");
props.put("sasl.kerberos.service.name", "kafka");
Producer producer = new KafkaProducer<>(props);
Consumer consumer = new KafkaConsumer<>(props);
确保将kafka.example.com
替换为正确的Kafka服务器主机名。
这样,你就可以在Apache Kafka 6.0中使用Pre Windows 2000名称格式的Kerberos身份验证(GSSAPI)进行身份验证了。