I’m a kafka beginner and I am doing a course on it. Was following along and had to create a producer demo file but I keep getting this error:
[kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient – [Producer clientId=producer-1] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Node may not be available.
[kafka-producer-network-thread | producer-1] WARN org.apache.kafka.clients.NetworkClient – [Producer clientId=producer-1] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected
[kafka-producer-network-thread | producer-1] INFO org.apache.kafka.clients.NetworkClient – [Producer clientId=producer-1] Node -1 disconnected.
Here is my code:
package io.conduktor.demos.kafka;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.protocol.types.Field;
import org.apache.kafka.common.serialization.StringSerializer;
import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Properties;
public class ProducerDemo {
private static final Logger log = LoggerFactory.getLogger(ProducerDemo.class.getSimpleName());
public static void main(String[] args) {
log.info("Hello World!");
//create Producer Properties
Properties properties = new Properties();
//connect to Localhost
properties.setProperty("bootstrap.servers", "localhost:9092");
//connect to Conduktor playground
//properties.setProperty("bootstrap.servers", "cluster.playground.cdkt.io:9092");
//properties.setProperty("security.protocol", "SASL_SSL");
//properties.setProperty("sasl.jaas.config", "org.apache.kafka...");
//properties.setProperty("sasl.mechanism", "PLAIN");
//set producer properties
properties.setProperty("key.serializer", StringSerializer.class.getName());
properties.setProperty("value.serializer", StringSerializer.class.getName());
//create the Producer
KafkaProducer<String, String> producer = new KafkaProducer<>(properties);
//create a producer Record
ProducerRecord<String, String> producerRecord =
new ProducerRecord<>("demo_java","hello world");
//send data
producer.send(producerRecord);
//tell the producer to send all data and block until done --synchronous
producer.flush();
//flush and close the producer
producer.close();
}
}
I have tried changing the hostports, node ID’s, check for firewalls(all inactive), there’s zero security and I can’t wrap my head around fixing it.
Bartello_45 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.