Kafka基本使用

Kafka基本使用

官网地址  http://kafka.apache.org/   一切应以官网文档为准。

安装

download里下载要安装的版本。或者直接wget该网址。如wget http://mirrors.cnnic.cn/apache/kafka/0.8.2.1/kafka_2.11-0.8.2.1.tgz

quickstart里有安装方法:

tar -zxvf kafka_2.11-0.8.2.1.tgz

config/server.properties下有各种各种配置

先要保证zookeeper以启动,然后启动kafka    bin/kafka-server-start.sh config/server.properties 

测试

可以先测试一下:这些命令都以官网最新的为准:  建topic(指定zookeeper factor partitions  topic名)                              bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

                                                                看topic (指定zookeeper)                                                                bin/kafka-topics.sh --list --zookeeper  localhost:2181

                       启动consumer  (指定zookeeper  topic   from开始) 启动后不要关           bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

                       再启一个窗口  启动producer  (指定broker topic) 输入内容回车,去consumer观察                                                   bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

报错

注意版本问题,如果javaApi producer版本高,想在客户端consumer启动低版本验证,会不停的报错:

Closing socket connection to/127,0,0,1.(kafka.network.Processor)  无法识别客户端消息。

由于需要定时启动Kafka consumer拉取数据,第一次启动后,没有关掉线程。

但Kafka consumer是非线程安全的,第二次消费数据时会报错:

java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded access  

更多实时计算,Kafka等相关技术博文,欢迎关注实时流式计算

原文地址:https://www.cnblogs.com/tree1123/p/6760688.html