КАФКА Брокер связывает внешний IP - PullRequest
0 голосов
/ 17 октября 2019

У меня есть изображение докера Kafka из: https://hub.docker.com/r/confluentinc/cp-kafka/, и я настраиваю его в облаке Google. У меня есть внешний IP-адрес, и я открыл порты, которые я использую для брокера, но брокер не может подключиться к внешнему IP-адресу Google, поскольку именно так работает Google, но когда я пытаюсь подключиться к 0.0.0.0, это также невозможнообъяснил по этому вопросу: https://issues.apache.org/jira/browse/KAFKA-4116

Я пытался подключиться к внутреннему IP, но он недоступен извне. Нужно ли создавать правило пересылки? У меня не было проблем с настройкой kafka на других облачных провайдерах. С той же конфигурацией это сработало, так что, похоже, это действительно проблема для конкретной сети

1 Ответ

1 голос
/ 23 октября 2019

Вы не можете связать его с IP-адресом 0.0.0.0, поскольку он не маршрутизируемый, так как zookeeper использует этот IP-адрес для идентификации брокера. Здесь есть некоторые обсуждения https://issues.apache.org/jira/browse/KAFKA-4116

В этом руководстве объясняется, как это сделать для AWS: https://rmoff.net/2018/08/02/kafka-listeners-explained/

Вы должны определить несколько слушателей и рекламируемых слушателей:

Вариант 2 - внешний адрес НЕ разрешается локально

Вам потребуется настроить два слушателя для Kafka:

1- Связь в сети AWS (VPC). Это может быть взаимодействие между брокерами (т.е. между брокерами) и между другими компонентами, работающими в VPC, такими как Kafka Connect, или сторонними клиентами или производителями. Для этих коммуникаций нам нужно использовать внутренний IP-адрес компьютера EC2 (или имя хоста, если настроен DNS).

2- Внешний трафик AWS. Это может быть проверка соединения сноутбук, или просто с машин, не размещенных в Amazon. В обоих случаях необходимо использовать внешний IP-адрес экземпляра (или имя хоста, если настроен DNS).

Пример:

listeners=INTERNAL://0.0.0.0:19092,EXTERNAL://0.0.0.0:9092
listener.security.protocol.map=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
advertised.listeners=INTERNAL://ip-172-31-18-160.us-west-2.compute.internal:19092,EXTERNAL://ec2-54-191-84-122.us-west-2.compute.amazonaws.com:9092
inter.broker.listener.name=INTERNAL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...