转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/81429910
本文出自【我是干勾鱼的博客】
Ingredient:
Java:Java SE Development Kit 8u162(Oracle Java Archive),Linux下安装JDK修改环境变量
Zookeeper:zookeeper-3.4.12.tar.gz(Zookeeper Download Mirror,ZooKeeper Releases Archive)
Kafka:kafka_2.11-2.0.0.tgz(Zookeeper Download)
Kafka是什么呢?Kafka官网说自己是“A distributed streaming platform”,也就是一个“分布式流媒体平台”,其实就是一个消息队列平台。消息之间是一个“public & subscribe”的关系,生产者创建消息,消费者订阅消息。
Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.
其实要想搞清楚Kafka是什么,有什么好处,可以参考知乎上消息队列的使用场景是怎样的里面ScienJus做出的回答,把消息队列比喻成书架,很形象。
Java SE Development Kit 8u162,可参照Linux下安装JDK修改环境变量,将JDK环境变量配置好。
Kafka运行需要Zookeeper的支持,Zookeeper下载及安装可参考笔者另一篇文章Zookeeper简介及应用实战。
下载kafka_2.11-2.0.0.tgz,将其放入“/opt/kafka/”目录并解压:
tar -zxvf kafka_2.11-2.0.0.tgz
解压缩完之后文件完整的路径为:
/opt/kafka/kafka_2.11-2.0.0
相关配置可参考Zookeeper简介及应用实战。
进入Zookeeper安装目录:
cd /opt/zookeeper/zookeeper-3.4.12/
启动Zookeeper:
./bin/zkServer.sh start
进入Kafka安装目录:
cd /opt/kafka/kafka_2.11-2.0.0
启动Kafka:
./bin/kafka-server-start.sh config/server.properties
Kafka官网的Quick Start给出了一个快速上手Kafka试验的实例,可以参考。
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my_first_topic
./bin/kafka-topics.sh --list --zookeeper localhost:2181
启动2个终端(t1,t2)连接到服务器,t1作为productor发送消息,t2作为consumer接收消息。
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my_first_topic
This is a message
This is another message
只是启动之前创建的“my_first_topic”,倾向其中输入了一些文本。
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_first_topic --from-beginning
This is a message
This is another message
这是在consumer中获取到了输入的信息,这里注意有的Kafka版本的命令中包含:
--zookeeper localhost:2181
现在这个版本已经没有这个参数了,而是换成了:
--bootstrap-server localhost:9092
在t1、t2终端执行:
Ctrl-C
即可。
参考Kafka应用实战——使用Kafka在文件之间传递数据。
./bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic my_first_topic
kafka入门介绍及环境搭建
Quick Start
Zookeeper简介及应用实战
消息队列的使用场景是怎样的
kafka停止consumer,producer等进程
kafka connect 简单测试