转:Kafka安装配置及使用详解

主要程序及版本:
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)

1 Kafka简介

Kafka是什么呢?Kafka官网说自己是“A distributed streaming platform”,也就是一个“分布式流媒体平台”,其实就是一个消息队列平台。消息之间是一个“public & subscribe”的关系,生产者创建消息,消费者订阅消息。

其实要想搞清楚Kafka是什么,有什么好处,可以参考知乎上消息队列的使用场景是怎样的里面ScienJus做出的回答,把消息队列比喻成书架,很形象。

2 JDK下载及环境配置

Java SE Development Kit 8u162,可参照Linux下安装JDK修改环境变量,将JDK环境变量配置好。

3 Zookeeper下载及安装

Kafka运行需要Zookeeper的支持,Zookeeper下载及安装可参考笔者另一篇文章Zookeeper简介及应用实战。

4 Kafka下载及安装

下载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

5 启动

5.1 启动Zookeeper
相关配置可参考Zookeeper简介及应用实战。

进入Zookeeper安装目录:
cd /opt/zookeeper/zookeeper-3.4.12/

启动Zookeeper:
./bin/zkServer.sh  start

5.2 启动Kafka
进入Kafka安装目录:
cd /opt/kafka/kafka_2.11-2.0.0

启动Kafka:
./bin/kafka-server-start.sh config/server.properties

6 模拟消息交互测试

Kafka官网的Quick Start给出了一个快速上手Kafka试验的实例,可以参考。

6.1 创建topic
./bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic my_first_topic

6.2 查看topic
./bin/kafka-topics.sh –list –zookeeper localhost:2181

6.3 发送、接受消息
启动2个终端(t1,t2)连接到服务器,t1作为productor发送消息,t2作为consumer接收消息。

1.在t1中输入:
./bin/kafka-console-product.sh –broker-list localhost:9092 –topic my_first_topic
This is a message
This is another message

只是启动之前创建的“my_first_topic”,倾向其中输入了一些文本。

2.在t2中输入:
./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

6.4 关闭producer、consumer进程
在t1、t2终端执行:
Ctrl-C
即可。

7 参考

kafka入门介绍及环境搭建
Quick Start
Zookeeper简介及应用实战
消息队列的使用场景是怎样的
kafka停止consumer,producer等进程
——————— 
原文:https://blog.csdn.net/dongdong9223/article/details/81429910

猜你喜欢

转载自blog.csdn.net/wdr2003/article/details/86627488