maven依赖,我使用的是版本是0.8.22,scala是2.11
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.8.2.2</version>
</dependency>
1.本地测试关闭防火器
2.在windows中配置kafka,zookeeper的host
C:\Windows\System32\drivers\etc\hosts文件
生产者
需要将producer.properties文件中的serializer.class参数由DefaultEncoder改为StringEncoder,不然会报错误
serializer.class=kafka.serializer.DefaultEncoder
serializer.class=kafka.serializer.StringEncoder
metadata.broker.list=shb01:9092,129.168.79.139:9092
package kafka;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
/**
* 生产者实例
* @author think
*
*/
public class ProducerTest {
public static void main(String[] args) throws Exception {
/**
* 属性参数,设置
* 方式1:config.setProperty("producer.type", "sync"); 可以手动设置生产者参数
* 方式2:直接加载kafka集群中的producer.properties
* 在producer.properties中指定broker List
* metadata.broker.list=shb01:9092,129.168.79.139:9092
*/
Properties config = new Properties();
config.load(ProducerTest.class.getClassLoader().getResourceAsStream("p