一、下载
官网地址: https://kafka.apache.org/downloads
kafka 在 2.8 版本开始脱离 zookeeper,本文示例版本为 2.7.2。
选择图中标记的版本下载。
- kafka-2.7.2.src.tgz 是源码格式,需要编译。
- kafka_2.12-2.7.2.tgz、kafka_2.13-2.7.2.tgz 是二进制格式,其中 2.12 和 2.13 代表 scala 的版本。
二、解压
将下载的文件放到linux的 /usr/local 目录下,然后解压:
cd /usr/local
tar -zxvf kafka_2.13-2.7.2.tgz
三、配置
进入 kafka 的 config 目录下
cd /usr/local/kafka_2.12-2.7.2/config
ll
- consumer.properties 是消费者的相关配置
- producer.properties 是生产者的相关配置
- server.properties 是 kafka 服务的配置
- zookeeper.properties 是 zookeeper 的相关配置
- zookeeper 中记录kafka的broker等信息
修改 server.properties 的配置。
vim /usr/local/kafka_2.12-2.7.2/config/server.properties
修改 zookeeper.properties 的配置
vim /usr/local/kafka_2.12-2.7.2/config/zookeeper.properties
修改完成保存退出
四、启动
进入 kafka 的安装目录
cd /usr/local/kafka_2.12-2.7.2/
启动 zookeeper
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
启动 kafka
./bin/kafka-server-start.sh -daemon config/server.properties
查看是否启动成功
jps -l
或
ps -ef | grep zookeeper
ps -ef | grep kafka
五、kafka 操作
kafka/bin 目录:
kafka 整体有三大模块,分别为生产者producer、消费者consumer 和主题topic,其中 topic 是保存在kafka集群中的,producer 和 consumer 向集群中的 topic 中添加 events 以及消费 events,而针对这三大模块,在kafka的bin目录下,分别有对应的可执行脚本。
5.1 kafka-topics.sh
参数 | 说明 |
---|---|
–bootstrap-server <String: server to connect to> | 连接的kafka的broker的主机名称和端口号 |
–topic <String: topic> | 操作的topic的名称 |
–create | 创建topic |
–delete | 删除主题 |
–alter | 修改主题 |
–list | 查看所有主题 |
–describe | 查看主题详细描述 |
–partitions <Integer: # of partitions> | 设置分区数 |
–replication-factor <Integer:replication factor> | 分区副本数,一般跟kafka节点数相同 |
–config <String: name=value> | 更新系统默认的配置 |
使用 topic 控制台创建一个 topic
cd /usr/local/kafka_2.12-2.72/
./bin/kafka-topics.sh --bootstrap-server loaclhost:9092 --create --topic testTopic --partitions 1 --replication-factory 1
# --bootstrap-server 表示要连接到哪台机器上
# --create 表示要创建一个 topic
# --topic 表示要创建的topic的名称,这里是 testTopic
# --partitions 表示分区数
# --replication-factory 表示副本数,不能大于 kafka 的节点数
5.2 kafka-console-consumer.sh
使用 consumer 控制台订阅 topic
cd /usr/local/kafka_2.12-2.72/
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic
# --from-beginning 消费者订阅topic之前,生产者如果已经发布了一个event,这时消费者是拿不到这个event的,如果想要拿到之前已经发布的event,就加上该参数。
5.3 kafka-console-producer.sh
使用 producer 控制台发布 event文章来源:https://www.toymoban.com/news/detail-778875.html
cd /usr/local/kafka_2.12-2.72/
./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testTopic
# 在箭头后输入要发送的 event,每行代表一个 event
在 producer 中发布的 event,topic 的订阅者会接收到。文章来源地址https://www.toymoban.com/news/detail-778875.html
到了这里,关于centos7 安装部署kafka的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!