本篇文章主要对Kafka进行一个入门,文章参考官方文档的QuickStart进行编写。
官方文档寻找
这一节主要讲述Kafka的各个版本的官方文档在何处?进入Kafka官方网站后,界面会入下图所示 :
GetStarted是当前版本的官方文档。Doc是全部的文档。可以通过选择查看不同版本的官方文档。
单机安装
1.步骤描述
- 下载Kafka安装tar包
- 解压tar包
- 启动Kafka自带的Zookeeper
-
2.安装明细
#解压tar包
tar -xzf kafka_2.13-3.0.0.tgz
cd kafka_2.13-3.0.0
#启动zk
bin/zookeeper-server-start.sh config/zookeeper.properties
#启动kafka
bin/kafka-server-start.sh config/server.properties
伪分布式安装
伪分布式安装就是在同一台Linux主机上,启动3个Kafka实例。
1.步骤描述
下载并解压Kafka安装包
- 复制
config/server.properties
文件3份,并修改其中的配置 - 分别通过3份
server.properties
进行启动Kafka2.安装明细
- 三份server.properties文件(server.properties,server-1.properties,server-2.properties)
```shell
server.properties 文件
broker.id=0 log.dirs=/tmp/kafka-logs listeners=PLAINTEXT://192.168.2.5:9092 advertised.listeners=PLAINTEXT://192.168.2.5:9092
server-1.properties 文件
broker.id=1 log.dirs=/tmp/kafka-logs-1 listeners=PLAINTEXT://192.168.2.5:9093 advertised.listeners=PLAINTEXT://192.168.2.5:9093
server-2.properties 文件
broker.id=2log.dirs=/tmp/kafka-logs-2 listeners=PLAINTEXT://192.168.2.5:9094 advertised.listeners=PLAINTEXT://192.168.2.5:9094
- 分别使用启动命令启动
```shell
在启动了zk后
bin/kafka-server-start.sh config/server.properties
bin/kafka-server-start.sh config/server-1.properties
bin/kafka-server-start.sh config/server-2.properties
使用测试
1.测试步骤
- 创建一个Topic
- 启动控制台生产者
- 启动控制台消费者
2.操作明细
```shell bin/kafka-topics.sh —create —zookeeper localhost:2181 —replication-factor 3 —partitions 3 —topic myTopic
启动生产者
bin/kafka-console-producer.sh —broker-list 192.168.2.5:9092 —topic myTopic
启动消费者
bin/kafka-console-consumer.sh —bootstrap-server 192.168.2.5:9092 —from-beginning —topic myTopic
在生产者窗口发送消息,消费者消息就可以接收到
<a name="xorcy"></a>
# 后台方式启动
默认启动Kafka的方式会占用控制台,且Kafka自带的zk也是占用一个控制台的,因此,我们需要了解如何后台方式启动。
```shell
#后台启动ZK
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
#后台启动Kafka
bin/kafka-server-start.sh -daemon config/server.properties
Kafka Connect
KafkaConnect做的工作是将数据从一个地方转移到另外一个地方,Kafka将自己作为一个中间人。
官方演示
官方实例演示通过sh脚本启动一个Java类,完成的功能是从文件中读取数据发送到Kafka,再从Kafka读取过来存入另一个文件
步骤
1.新建一个test.txt文件
2.通过脚本启动脚本
3.启动控制台消费者
Kakfa Stream
用于实时的计算Kafka中的消息数据并将计算结果也存储在Kafka。