невозможно удалить конфигурацию kafka по умолчанию в cloudera - PullRequest
0 голосов
/ 25 сентября 2018

В кластере PoC cloudera, поставляемом с kafka (1 брокер), я пытаюсь отправлять сообщения в кластер с внешним производителем через публичный IP.Узлы моего кластера размещены в Azure, и все они доступны с моей локальной машины, на которой работает внешний производитель.

После этой замечательной статьи https://rmoff.net/2018/08/02/kafka-listeners-explained/ Я выяснил конфигурацию слушателей kafka, которая мне нужна, так как этот публичный IP-адрес брокера доступен только с моей локальной машины, и внутри кластера они могут общаться только через свои внутренние имена хостов:

listeners=INTERNAL://0.0.0.0:19092,EXTERNAL://0.0.0.0:9092
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
advertised.listeners=INTERNAL://internal-broker-node-hostname:19092,EXTERNAL://public-broker-ip:9092
inter.broker.listener.name=INTERNAL

При такой конфигурации, когда я пытаюсь запустить брокер, я получаю эту ошибку:

org.apache.kafka.common.config.ConfigException: Only one of inter.broker.listener.name and security.inter.broker.protocol should be set.

Что имеет смысл, как в документе Kafka для этого свойства inter.broker.listener.name они говорят:

Имя слушателя, используемого для связи между брокерами.Если это не установлено, имя слушателя определяется security.inter.broker.protocol.Ошибкой является одновременная установка свойств и security.inter.broker.protocol.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу сбросить security.inter.broker.protocol с помощью диспетчера cloudera, поскольку у меня есть только опция переключения параметров в переключателе.

enter image description here

Как мне отменить это свойство?

1 Ответ

0 голосов
/ 26 сентября 2018

Внутренний и внешний - это просто строки

Итак, вы можете установить PLAINTEXT для CDH и просто переопределить внешний слушатель как рекламируемый

listeners=PLAINTEXT://0.0.0.0:19092,EXTERNAL://0.0.0.0:9092
listener.security.protocol.map=EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT 
advertised.listeners=PLAINTEXT://internal-broker-node-hostname:19092,EXTERNAL://public-broker-ip:9092

Вы также захотите убедиться, что вашIP-адреса внешнего брокера являются статическими

...