Kafka рекламирует слушателя через приватную ссылку AWS

У меня в AWS два VPC:

В VPC-A есть экземпляр ec2.
VPC-B имеет экземпляр ec2, в котором запущены kafka и zookeeper через docker-compose

. VPC подключаются через AWS Privatelink (конечная точка -> служба конечной точки -> nlb (в VPC-B) -> kafka). Конечная точка privatelink DNS-имя: broker.confluent-plays

Я могу использовать telnet для обоих портов 9092 и 2181 от VPC A до Kafka и Zookeeper в VPC-B. Нет проблем

      [ec2-user@ip-10-1-0-90 etc]$ telnet broker.confluent-playground 9092
Trying 10.1.1.200...
Connected to broker.confluent-playground.

Моя проблема в том, что, хотя между VPC есть сетевое соединение, у меня, похоже, возникают проблемы с конфигурацией прослушивателя kafka. Когда я устанавливаю рекламные файлы для файлов broker.confluent-plays: 9092 , мой производитель не может подключиться, а при запуске kafkacat -b broker.confluent-plays -L я перечисляю только 7 из 40 тем. (они кажутся внутренними системными темами, например "_confluent_balancer_partition_samples" ).

Вот отрывок из файла docker-compose:

      broker:
    image: confluentinc/cp-server:6.1.1
    hostname: broker
    container_name: broker
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
      - "9101:9101"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://broker:29092,EXTERNAL://broker.confluent-playground:9092
      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL

Теперь, если я изменю объявленного слушателя на частный IP-адрес ec2, содержащего кафку, то есть:
FROM

      EXTERNAL://broker.confluent-playground:9092

к

      EXTERNAL://192.168.35.65:9092

тогда kafkacat в VPC-A может правильно видеть все 40 тем! Я все еще не могу производить (потому что я предполагаю, что мне предоставили рекламируемый частный IP-адрес в другой сети).

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

Еще одна интересная
вещь.Мое сканирование kafkacat с использованием рекламируемого прослушивателя broker.confluent-Playground возвращает это

[ [электронная почта защищена] ~] $ sudo docker run --rm --network = host edenhill / kafkacat: 1.5.0 kafkacat -b broker.confluent-plays: 9092 -L

      Metadata for all topics (from broker 1: broker.confluent-playground:9092/1):
 1 brokers:
  broker 1 at broker.confluent-playground:9092 (controller)
 7 topics:

И когда я использую частный IP-адрес как (который я не могу получить из VPC-A) в качестве рекламируемого слушателя, я получаю / bootstrap со всеми темами:

      [ec2-user@ip-10-1-0-90 ~]$ sudo docker run --rm --network=host edenhill/kafkacat:1.5.0 kafkacat -b broker.confluent-playground:9092 -L
Metadata for all topics (from broker -1: broker.confluent-playground:9092/bootstrap):
 1 brokers:
  broker 1 at 192.168.54.226:9092 (controller)
 40 topics:

0 ответов

Другие вопросы по тегам