Доступ к kafka в песочнице из Host OS (после попытки каждого решения)

Обсуди меня нуб. Я прочитал все вопросы о переполнении стека и пытался в течение одного дня, но решение просто не щелкнуло мне. ПОЖАЛУЙСТА, Помогите мне конкретно к моим НАСТРОЙКАМ и КОДУ (потому что я перепробовал все возможности из тех же проблем переполнения стека -)

Это мой файл Producer.properties

Это мой файл server.properties

Это мой код

Properties props = new Properties();
props.put("metadata.broker.list", "sandbox.hortonworks.com:9093");
//props.put("zk.connect", "sandbox.hortonworks.com:2181");
props.put("serializer.class", "kafka.serializer.StringEncoder");
props.put("request.required.acks", "1");

KeyedMessage<String, String> data = new KeyedMessage<String, String> (topic1,"ccccccccc");


System.out.println(data);
producer.send(data);

Это вывод затмения

KeyedMessage(tweeter,null,ccccccccc)
kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.

2 ответа

@Samhash, насколько я понимаю, advertised.host.name должен быть IP-адресом, который можно проверить на вашем локальном компьютере. На вашем локальном компьютере, я не думаю, что sandbox.hortonworks.com будет понят, или вам, возможно, придется сделать запись для этого хоста на вашем локальном компьютере.
Пожалуйста, дайте мне знать, если это работает для вас.

Ну в стратегии Hit and Trail я наконец-то поймал проблему.

Есть 4 свойства в файле file.propertiesпорт, host.name, объявленное имя хоста и объявленный порт

И 1 свойство в файле Producer.propertiesmetadata.broker.list

Убедитесь, что broker.list совпадает с advertised.host.name:advertised.port

Прокомментируйте свойство host.name, так как оно не действует, если указано объявленное имя хоста.

Я просто получил ip своей песочницы используя ifconfig команда, а затем положить этот IP с портом 9092 в обоих свойствах, и это сработало.

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