我正在尝试将 kafka 0.11.0.1 与 ssl+acls 一起使用。我的配置在下面。
服务器属性:
broker.id=0
listeners=PLAINTEXT://127.0.0.1:9092,SSL://127.0.0.1:9093
advertised.listeners=SSL://127.0.0.1:9093
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/tmp/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.segment.bytes=1073741824
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
ssl.keystore.location=/u/jewel/ssl+acl/kafka_2.11-0.11.0.1/kaf-new/server.keystore.jks
ssl.keystore.password=test1234
ssl.key.password=test1234
ssl.truststore.location=/u/jewel/ssl+acl/kafka_2.11-0.11.0.1/kaf-new/server.truststore.jks
ssl.truststore.password=test1234
生产者属性:
bootstrap.servers=localhost:9093
compression.type=none
ssl.keystore.location=/u/jewel/ssl+acl/kafka_2.11-0.11.0.1/prod/server.keystore.jks
ssl.keystore.password=test123
ssl.key.password=test123
security.protocol=SSL
ssl.truststore.location=/u/jewel/ssl+acl/kafka_2.11-0.11.0.1/kaf-new/client.truststore.jks
ssl.truststore.password=test1234
服务器上的CN
如下:
subject=/C=in/ST=maha/L=mum/O=atos/OU=atos/CN=kafka
issuer=/C=in/ST=maha/L=mum/O=atos/OU=atos/CN=kafka/emailAddress=abc@gmail.com
生产者的CN
如下:
subject=/C=in/ST=maha/L=mum/O=atos/OU=atos/CN=kaf
当我运行生成命令时 _i.e.
$ kafka-console-producer.sh --broker-list localhost:9093 --topic test --producer.config client-ssl.properties
我可以生产。但是,一旦我将下面的行添加到 server.properties
,即包括 ACLS 和 SSL 生成失败:
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
我使用以下命令创建了 acls:
$ bin/kafka-acls --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:CN=kaf,OU=atos,O=atos,L=mum,ST=maha,C=in --producer --topic hel
失败并出现以下错误:
>helo
[2017-11-29 12:29:02,845] WARN Error while fetching metadata with
correlation id 1 : {hel=LEADER_NOT_AVAILABLE}
(org.apache.kafka.clients.NetworkClient)
请建议一种方法来进行这些配置。
最佳答案
我忘记添加 super.users 属性,这是强制性的,它需要是 server.properties 的典型 CN。
添加它解决了我的问题
关于ssl - 使用 ssl+acl 配置的 Console Producer 中的 Leader 不可用 Kafka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47553462/