kafka不同版本是有差别的,我使用的是0.10.0.0版本,从0.8的版本之后,出了一组新的API
1 首先启动kafka
进入kafka目录下的bin目录,使用以下命令启动,&表示后台启动(无zookeeper的话要先启动zookeeper)
.bin/kafka-server-start.sh ./config/server.properties &
启动完成后可以使用 ps -ef | grep kafka 来查看是否启动
2 创建java工程,尽量使用maven
(1) 下面是kafka producer和consumer 低版本Api的java代码
/**
* 对应低版本的Api
*/
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
import java.util.Properties;
public class KafkaProductor {
public static void main(String[] args) throws InterruptedException {
//配置kafka参数
Properties properties = new Properties();
//0.8版本的需要zk.connect
properties.put("zk.connect", "127.0.0.1:2181");
properties.put("metadata.broker.list", "localhost:9092");
properties.put("serializer.class", "kafka.serializer.StringEncoder");
ProducerConfig producerConfig = new ProducerConfig(properties);
Producer<String, String> producer = new Producer<>(producerConfig);
/**
* KeyedMessage中"test-topic"为topic的名字,"test-message"为消息内容,也可以加上key,即
* new KeyedMessage<>("test-topic","key1" ,"test-message");
*/
KeyedMessage<String, String> keyedMessage = new KeyedMessage<>("test-topic", "test-message");
producer.send(keyedMessage);
Thread.sleep(1000);
producer.close();
System.out.println("produc