前置条件:Linux服务器内需要安装JDK
一.安装kafka
手动下载 下载地址:http://kafka.apache.org/downloads
Kafka从2.80以后内置zookeeper,因此无需重复安装
二. 解压Kafka
命令:tar -xzvf kafka_2.13-3.6.2.tgz
三. 修改文件
- 进入config目录:
cd config
- 修改server.properties:
vim server.properties
- 找到下面两行,删除前面的 # 在advertised.listeners上填写外网id地址
broker.id: 申明当前kafka服务器在集群中的唯一ID,需配置为integer,并且集群中的每一个kafka服务器的id都应是唯一的,我们这里采用默认配置即可
listeners:申明此kafka服务器需要监听的端口号,如果是在本机上跑虚拟机运行可以不用配置本项,默认会使用localhost的地址,如果是在远程服务器上运行则必须配置,例如:listeners=PLAINTEXT://192.168.180.128:9092。并确保服务器的9092端口能够访问
zookeeper.connect:申明kafka所连接的zookeeper的地址,需配置为zookeeper的地址,由于本次使用的是kafka高版本中自带zookeeper,使用默认配置即可
四. 检查防火墙是否开启,端口是否开放
启动防火墙:systemctl start firewalld
查看防火墙状态:systemctl status firewalld
禁用防火墙:systemctl disable firewalld
停止防火墙:systemctl stop firewalld
查看开放端口:firewall-cmd --list-port
添加开放端口:firewall-cmd --zone=public --add-port=80/tcp --premanent (–premanent永久生效,没有此参数,重启后失效)
重新载入规则:firewall-cmd --reload
五. 启动zookeeper
由于高版本kafka内置zookeeper所以无需单独安装和修改相关配置文件信息,直接启动即可
进入bin目录下,启动zookeeper服务
命令:
./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
- 可以通过日志查看zookeeper服务是否启动
- 也可以通过命令查看服务是否启动 命令:
jps
六. 启动Kafka
命令:
./kafka-server-start.sh -daemon ../config/server.properties
,同样使用jps可以查看服务启动状态
此时zookeeper和kafka服务均已启动,接下来可以创建topic了
七. 创建topic
以下命令都在kafka的bin目录下执行
新增topic
命令:
./kafka-topics.sh --create --bootstrap-server X.X.X.X:9092 --replication-factor 1 --partitions 1 --topic test
test就是要创建的topic了,当返回Creates topic "your topic"则代表创建成功
选项说明:
–topic 定义topic名
–replication-factor 定义副本数
–partitions 定义分区数
查询topic:
命令:
./kafka-topics.sh --list --bootstrap-server X.X.X.X:9092
删除topic
命令:
./kafka-topics.sh --bootstrap-server X.X.X.X:9092 --delete -topic test
模拟测试生产/消费消息
在一个终端上创建生产者
命令:
./kafka-console-producer.sh --bootstrap-server X.X.X.X:9092 --topic test
在另外一个终端上创建一个消费者
命令:
./kafka-console-consumer.sh --bootstrap-server X.X.X.X:9092 --topic test
左侧消费消息,右侧生产消息
linux下简单测试kafka生产消费消息成功!
八。简单命令汇总:
创建topic:
./kafka-topics.sh --create --bootstrap-server X.X.X.X:9092 --replication-factor 1 --partitions 1 --topic test
删除topic:
./kafka-topics.sh --bootstrap-server X.X.X.X:9092 --delete -topic test
查询topic:
./kafka-topics.sh --list --bootstrap-server X.X.X.X:9092
指定消费者组:
./kafka-console-consumer.sh --bootstrap-server X.X.X.X:9092 --group em --topic test
“em” 就是你要指定的消费者组
查询消费者组信息:
版权归原作者 NAME-LI 所有, 如有侵权,请联系我们删除。