It’s my understanding that dynamic configuration requires you to write znodes, e.g. /config/brokers/ssl.keystore.location. I believe you can use the same path. Brokers should be watching that path and if a node is added or updated the config values will be read in and loaded over existing values.
https://cwiki.apache.org/confluence/display/KAFKA/KIP-226+-+Dynamic+Broker+Configuration#KIP-226-DynamicBrokerConfiguration-SSLkeystore <https://cwiki.apache.org/confluence/display/KAFKA/KIP-226+-+Dynamic+Broker+Configuration#KIP-226-DynamicBrokerConfiguration-SSLkeystore> > On May 16, 2019, at 2:08 PM, Darshan <purandare.dars...@gmail.com> wrote: > > Hi > > I am testing out Kafka 2.2.0 and was hoping to test out "Enable dynamic > reconfiguration of SSL truststores" > https://issues.apache.org/jira/browse/KAFKA-6810. But unfortunately I could > not get it work. Please find the server.properties. Just wondering if we > need an change of config. Please advise.. > > 1. I added a new entry in the truststore, and validated it that it is > present. > 2. The client (kafka writer) could not write to Kafka due to SSLException. > 3. I restarted Kafka broker. > 4. The client could write messages. > > > server.properties > ---------------------------------------------------------------------------- > > ############################# Server Basics ############################# > > # The id of the broker. This must be set to a unique integer for each > broker. > broker.id=1 > auto.create.topics.enable=true > delete.topic.enable=true > > #################### Upgrading from 1.1.0 to 2.2.0 #################### > inter.broker.protocol.version=1.1 > log.message.format.version=1.1 > > ############################# Socket Server Settings > ############################# > > listeners=INTERNAL://1.1.1.65:9092,EXTERNAL://10.28.118.172:443 > ,INTERNAL_PLAINTEXT://1.1.1.65:9094 > advertised.listeners=INTERNAL://1.1.1.65:9092,EXTERNAL://10.28.118.172:443 > ,INTERNAL_PLAINTEXT://1.1.1.65:9094 > listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL,INTERNAL_PLAINTEXT:PLAINTEXT > inter.broker.listener.name=INTERNAL_PLAINTEXT > > default.replication.factor=1 > offsets.topic.replication.factor=1 > > # Hostname the broker will bind to. If not set, the server will bind to all > interfaces > host.name=10.28.118.172 > > # The number of threads handling network requests > num.network.threads=12 > > # The number of threads doing disk I/O > num.io.threads=12 > > # The send buffer (SO_SNDBUF) used by the socket server > socket.send.buffer.bytes=102400 > > # The receive buffer (SO_RCVBUF) used by the socket server > socket.receive.buffer.bytes=102400 > > # The maximum size of a request that the socket server will accept > (protection against OOM) > socket.request.max.bytes=104857600 > > # Max message size is 10 MB > message.max.bytes=10000120 > > # Consumer side largest message size is 10 MB > fetch.message.max.bytes=10000120 > > # Replica max fetch size is 10MB > replica.fetch.max.bytes=10000120 > > # Max request size 10MB > max.request.size=10000120 > > ################ SHUTDOWN and REBALANCING ####################### > # Both the following properties are also enabled by default as well, also > explicitly settings here > controlled.shutdown.enable=true > auto.leader.rebalance.enable=true > unclean.leader.election.enable=true > > > ######################### Security Settings ########################## > ssl.endpoint.identification.algorithm="" > ssl.keystore.location=/dir/keystore.jks > ssl.keystore.password=pwd > ssl.key.password=pwd > ssl.truststore.location=/dir/truststore.jks > ssl.truststore.password=pwd > ssl.keystore.type=JKS > ssl.truststore.type=JKS > security.protocol=SSL > ssl.client.auth=required > allow.everyone.if.no.acl.found=false > authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer > # User.ANONYMOUS is included for AMS to be able to program ACL via 9094 port > super.users=User:CN=KafkaBroker1;User:ANONYMOUS