Zookeeper SSL Connect
Suppose you want to compare what zookeeper metadata has vs what the kafka controller might report.
However, there is no ‘easy’ way to connect to zookeeper with the --zookeeper
flag via ssl. Unlike --bootstrap-server
and --command-config
which does have better configuration options.
Instead use KAFKA_OPTS
to set the correct ssl configuration for zookeeper. For example:
export KAFKA_OPTS="-Dzookeeper.clientCnxnSocket=org.apache.zookeeper.ClientCnxnSocketNetty \
-Dzookeeper.client.secure=true \
-Dzookeeper.ssl.keyStore.location=/etc/kafka/kafka.client.keystore.jks \
-Dzookeeper.ssl.keyStore.password=password \
-Dzookeeper.ssl.trustStore.location=/etc/kafka/kafka.client.truststore.jks \
-Dzookeeper.ssl.trustStore.password=password"
Will return that zookeeper has:
kafka-topics.sh --zookeeper zookeeper.example.net:2182 --describe --topic test-topic
Will return what the controller has:
kafka-topics.sh --bootstrap-server kafka.example.net:9094 --command-config /etc/kafka/client.ssl.properties --describe --topic test-topic