Apache Kafka VirtualBox: потоковая передача данных с виртуальной машины на хост P C, приводящая к ошибке подключения к узлу - PullRequest
0 голосов
/ 10 января 2020

Я недавно начал использовать Apache Kafka и успешно отправлял данные от производителя к потребителю в Windows 10 и моей Linux Mint 19.3 (VM) средах. Теперь я хочу передать данные с моей виртуальной машины в мою среду Windows 10.

Обе среды могут выполнять эхо-запросы друг друга.

Когда я пытаюсь запустить своего потребителя на Windows 10 , Я получаю «Ошибка подключения к узлу VM-VirtualBox: 9092», за которым следует «java. net .UnknownHostException: VM-VirtualBox». Странно, но Windows 10 может видеть темы, перечисленные в среде виртуальных машин; и я могу создавать и удалять темы из Windows. Но я просто не могу подключиться.

Может ли кто-нибудь указать, что я делаю неправильно?

Мой server.properties содержит строки:

broker.id=0
Kafka Broker Advanced Configuration
Snippet (Safety Valve)
############################# Socket Server Settings #############################
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
#port=9092
#advertised.host.name=localhost
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners = PLAINTEXT://VM-VirtualBox:9092
#advertised.listeners = PLAINTEXT://Windows10-7950:9092
domain:9092

Я также разместил это на Reddit: https://www.reddit.com/r/apachekafka/comments/emqbms/virtualbox_streaming_data_from_vm_to_host_pc/

1 Ответ

0 голосов
/ 10 января 2020

Если Kafka работает на хосте, вам нужно объявить имя хоста хоста или какой-то адрес, который может разрешить виртуальная машина (это может быть также IP-адрес)

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners = PLAINTEXT://EXTERNAL-HOST:9092

В противном случае вам понадобится отредактировать файл hosts в ОС таким образом, чтобы имя DNS распознавалось

Причина, по которой вы можете создавать списки и создавать темы, заключается в том, что вы, вероятно, используете Zookeeper, а не bootstrap адрес

...