Kafka cluster - разделение внутренней и внешней коммуникации на работающем кластере - PullRequest
0 голосов
/ 11 октября 2018

Случай: для разделения связи репликации клиента и брокера + введение защиты.

Вопрос: возможно ли разделить связь с какой-то процедурой, такой каккатящийся рестарт?Без необходимости простоев во всем кластере.

Конфигурация как есть (простая с одним портом для всего без защиты):

listeners=PLAINTEXT://server1:9092

Требуемая конфигурация (разные порты и некоторые с безопасностью, репликацияна порт 9094):

listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SASLPLAIN:SASL_PLAINTEXT,REPLICATION:SASL_PLAINTEXT
listeners=PLAINTEXT://server1:9092,SASLPLAIN://server1,REPLICATION://server1:9094
inter.broker.listener.name=REPLICATION
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

Ход выполнения: Конфигурация ниже хорошо работает.Но единственный способ, не переводя кластер в несовместимое состояние, которое я знаю сейчас, - это остановить кластер, ввести новую конфигурацию, как показано выше, и снова запустить кластер.Это явно не требуется заказчиком.Спасибо за любые мысли о том, как действовать без остановки / запуска всего кластера.

1 Ответ

0 голосов
/ 15 октября 2018

Мне удалось перейти от первоначальной конфигурации одного слушателя к желаемым нижеуказанным шагам.Если у кого-то есть идеи по упрощению процесса, добавьте.

Исходная конфигурация:

listeners=PLAINTEXT://server1:9092

1. Измените server.properties и выполните повторный запуск

listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SASLPLAIN:SASL_PLAINTEXT,REPLICATION:SASL_PLAINTEXT
listeners=PLAINTEXT://SERVER1:9092,SASL_PLAINTEXT://SERVER1:9093,REPLICATION://SERVER1:9094
sasl.enabled.mechanisms=PLAIN

Также включите конфигурацию jaas в качестве параметра jvm.-Djava.security.auth.login.config = / path / to / kafka_server_jaas.conf

2. Изменить свойства server.properties и выполнить повторный запуск

listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SASLPLAIN:SASL_PLAINTEXT,REPLICATION:SASL_PLAINTEXT
listeners=PLAINTEXT://SERVER1:9092,SASL_PLAINTEXT://SERVER1:9093,REPLICATION://SERVER1:9094
inter.broker.listener.name=REPLICATION
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN

3. Изменить свойства серверав последний раз и сделайте третий повторный перезапуск

listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SASLPLAIN:SASL_PLAINTEXT,REPLICATION:SASL_PLAINTEXT
listeners=PLAINTEXT://SERVER1:9092,SASL_PLAINTEXT://SERVER1:9093,REPLICATION://SERVER1:9094
inter.broker.listener.name=REPLICATION
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
allow.everyone.if.no.acl.found=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...