Ich habe einen wirklich einfachen Produzenten, den ich durch eclipse auf meinem lokalen Windows-Rechner laufe ... Was ich wirklich will ist, eine Nachricht an kafka zu richten, also werde ich sein Der Broker kann über den Tierpfleger angezeigt werden. Nur um zu sehen, wie die Kommunikation von Ende funktioniert ... zu Ende geht also hier den Code:KafkaProducer vom lokalen Rechner an hortonworks sandbox auf virtualbox senden
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9020");
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.class.getName());
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,StringSerializer.class.getName());
KafkaProducer<String,String> producer = new KafkaProducer<String,String>(props);
boolean sync = true;
String topic="mytopic";
String key = "mykey";
String value = "myvalue";
ProducerRecord<String,String> producerRecord = new ProducerRecord<String,String>(topic, key, value);
if (sync) {
producer.send(producerRecord).get();
} else {
producer.send(producerRecord);
}
producer.close();
jedoch nach einiger Zeit bekomme ich
Exception in thread "main" java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
at org.apache.kafka.clients.producer.KafkaProducer$FutureFailure.<init>(KafkaProducer.java:437)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:352)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:248)
at kafkaProducer.TestProducer.main(TestProducer.java:30) Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
I Hortonworks Sandbox-Setup haben, mit kafka Laufen, aber ich kann nicht scheinen, sich damit zu verbinden. Ich habe versucht, Portweiterleitung in den Virtualbox-Netzwerkkonfigurationen, aber immer noch das gleiche Problem. Gibt es etwas, das ich vermisse?