Не удается подключиться к kafka после обновления с HDP 2.4 до HDP 2.5 на AWS EC2

У меня был проект производителя kafka, реализованный на Sandbox 2.4 через Virtual Box, но с тех пор я реализовал этот проект на AWS EC2 (с использованием облачного взлома Hortonworks). Это привело меня к обновлению до HDP 2.5, поэтому я перешел с kafka 9 на kafka 10. Я внес необходимые изменения в зависимости и IP(localhost), но получаю java.net.ConnectException: Connection timed out: no further information

Внутренний IP-адрес kafkaBroker - 10.0.75.111, а пример производителя kafka - ниже.

public void initialise() {
    Properties props = new Properties();
    props.put("bootstrap.servers", "10.0.75.111:6667");  // replaced localhost
    props.put("acks", "all");
    props.put("retries", 0);
    props.put("batch.size", 16384);
    props.put("linger.ms", 1);
    props.put("buffer.memory", 33554432);
    props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
    props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
    producer = new org.apache.kafka.clients.producer.KafkaProducer<Integer, String>(props);
}

Слушатель кафки PLAINTEXT://localhost:6667

После запуска программы возвращается сообщение об ошибке ниже

803862 [kafka-producer-network-thread | producer-14] DEBUG org.apache.kafka.clients.NetworkClient  - Initiating connection to node -1 at 10.0.75.111:6667.
824863 [kafka-producer-network-thread | producer-14] DEBUG org.apache.kafka.common.network.Selector  - Connection with /10.0.75.111 disconnected
java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.kafka.common.network.PlaintextTransportLayer.finishConnect(PlaintextTransportLayer.java:51)
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:73)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:309)
at org.apache.kafka.common.network.Selector.poll(Selector.java:283)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:260)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:229)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:134)
at java.lang.Thread.run(Thread.java:745)
824863 [kafka-producer-network-thread | producer-14] DEBUG org.apache.kafka.clients.NetworkClient  - Node -1 disconnected.

Буду признателен за любую помощь, спасибо

1 ответ

Решение

Если вы отправляете данные в установочный кластер AWS, вам необходимо использовать внешние IP-адреса. Однако, если вы запускаете из сети, вы можете использовать оба.

В вашем случае вы, кажется, работаете извне сети. Попробуйте использовать публичный IP снаружи / изнутри. Это должно помочь вам.

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