Я создал виртуальную машину в Azure и установил Apache Kafka внутри нее. Теперь я хочу получить доступ к Kafka с моего локального компьютера, но он продолжает выдавать мне ошибку подключения не установлено после того, как некоторое время застрял в kafkaProducer.send (record) , это код производителя:
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, KafkaIP);
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
KafkaProducer<String, String> kafkaProducer = new KafkaProducer<String, String>(props);
try {
for(int i = 0; i < 5; i++){
ProducerRecord<String, String> record = new ProducerRecord<String, String>("sec", Integer.toString(1),"Hello");
/* GETS STUCK IN THE FOLLOWING LINE FOR VERY LONG*/
kafkaProducer.send(record);
}
} catch (Exception e) {
e.printStackTrace();
}
Я раскомментировал и поместил publi c IP в свойство Advertised.listeners в файл server.properties . Оба порта 9092 и 2181 открыты для источника. То же самое сработало для экземпляра AWS EC2. Есть ли какие-либо другие изменения, которые мне нужно сделать для доступа к Kafka, который находится внутри Azure VM?