Невозможно подключиться к размещенной в облаке кафке из приложения весенней загрузки - PullRequest
0 голосов
/ 06 апреля 2020

Адрес виртуальной машины kafka в облачной платформе Google: xx.xx.xxx.xxx.

Из моего локального весеннего загрузочного приложения, которое обычно подключается к localhost: 9092 сервера kafka локальной машины, я изменил его на IP-адрес виртуальной машины GCP как xx.xx.xxx.xxx:9092

Но при запуске сервера выдается предупреждение

2020-04-05 15:30:41.356  WARN 7968 --- [| adminclient-4] org.apache.kafka.clients.NetworkClient   : [AdminClient clientId=adminclient-4] Connection to node -1 could not be established. Broker may not be available.

и, в конечном итоге, время ожидания истекает. Должен ли быть другой способ подключения к облачной кафке из приложения springboot?

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Вам необходимо настроить вашего брокера на виртуальной машине GCP с правильным advertised.listener, чтобы ваш клиент получил правильное имя хоста / IP-адрес от него после первоначального успешного подключения.

Вы можете проверить метаданные соединения и посредника, предоставленные настройкой advertised.listeners, используя kafkacat -L

$ kafkacat -b xx.xx.xxx.xxx:9092 -L
Metadata for all topics (from broker -1: xx.xx.xxx.xxx:9092/bootstrap):
1 brokers:
  broker 0 at a.b.c.d:9092

Возвращаемым a.b.c.d. должен быть IP-адрес или имя хоста, которые ваш клиент может успешно выполнить разрешить самому посреднику (не адрес обратной связи, IP внутренней сети и т. д. c).

Чтобы понять больше см. https://rmoff.net/2018/08/02/kafka-listeners-explained/

0 голосов
/ 07 апреля 2020

Следующие свойства добавляются

advertised.host.name в server.properties для публикации c IP-адрес, metadata.broker.list в Manufacturer.properties для публикации c IP-адрес, host.name до 0,0. 0.0.

Эти файлы свойств будут находиться в папке конфигурации. Необходим перезапуск.

И это решило проблему. Для брокера / bootstrap .sever IP-адрес publi c используется в приложении после добавления вышеупомянутых свойств.

...