centos7 安装部署kafka

avatar
作者
筋斗云
阅读量:0

一、下载

官网地址: https://kafka.apache.org/downloads
kafka 在 2.8 版本开始脱离 zookeeper,本文示例版本为 2.7.2。
kafka
选择图中标记的版本下载。

  • 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 

kafka的配置文件目录

  • 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 

kafka server.properties 配置
kafka server.properties 配置
修改 zookeeper.properties 的配置

vim /usr/local/kafka_2.12-2.7.2/config/zookeeper.properties 

kafka zookeeper配置
修改完成保存退出

四、启动

进入 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 /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

cd /usr/local/kafka_2.12-2.72/ ./bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic testTopic 	# 在箭头后输入要发送的 event,每行代表一个 event 

在 producer 中发布的 event,topic 的订阅者会接收到。
生产者发送event
消费者接收到event

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!