( 二 )、Kafka 下载安装
参考Kafka快速入门: https://kafka.apache.org/documentation/#quickstart
下载
官方下载: https://kafka.apache.org/downloads.html
官方推荐下载scala 2.13版本的: https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz
1、下载并解压
> tar -zxvf kafka_2.13-3.0.0.tgz > cd kafka_2.13-3.0.0
2: 启动服务
注意:你的本地环境必须安装有Java 8+
2.1、运行kafka需要使用Zookeeper,所以你需要先启动Zookeeper,如果你没有Zookeeper,你可以使用kafka自带打包和配置好的Zookeeper。
> cd kafka_2.13-3.0.0/
> ./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
2.2、启动kafka服务
> ./bin/kafka-server-start.sh -daemon config/server.properties &
一旦所有服务成功启动,那Kafka已经可以使用了。
3: 创建一个主题(topic)
创建一个名为“test”的Topic,只有一个分区和一个备份:
> ./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
创建好之后,可以通过运行以下命令,查看已创建的topic信息:
> ./bin/kafka-topics.sh --describe --topic test --bootstrap-server localhost:9092 Topic:test PartitionCount:1 ReplicationFactor:1 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
或者,除了手工创建topic外,你也可以配置你的broker,当发布一个不存在的topic时自动创建topic。配置自动创建topic时设置默认的分区和副本数:
在server.properties
中配置:
# 自动创建主题 auto.create.topics.enable=true # 默认主题的分区数 num.partitions=8 # 默认分区副本 default.replication.factor=3
注意:default.replication.factor
:默认分区副本数不得超过kafka节点数(你想,副本数如果一个节点放2份,意义就没了),每个节点都需要配置,然后重启即可。
4: 发送消息
Kafka提供了一个命令行的工具,可以从输入文件或者命令行中读取消息并发送给Kafka集群。每一行是一条消息。运行 producer(生产者)
,然后在控制台输入几条消息到服务器。
> ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test This is a message This is another message
5: 消费消息
Kafka也提供了一个消费消息的命令行工具,将存储的信息输出出来,新打开一个命令控制台,输入:> ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning This is a message This is another message