官网下载
http://kafka.apache.org/downloads
下载制定版本 2.11-0.10.1.0
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183250398-496920736.png)
现在对应安装包之后,上传到 centos 系统,进行对应解压操作
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183302294-2145961785.png)
修改配置文件设置
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183317461-1830635266.png)
修改文件中的内容
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183328079-1496989876.png)
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183338147-1066930318.png)
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183436831-927974000.png)
启动kafka 服务
kafka-server-start.sh ../config/server.properties
### 设置后台常驻进程启动
kafka-server-start.sh ../config/server.properties &
设置kafka 开机自启动
进入指定目录
cd /etc/init.d
vim 配置 kafak 文件
vim kafka
配置文件内容 kafka
#!/bin/bash
#chkconfig:2345 18 94
#description:kafka
#processname:kafka
KAFKA_PATH=/export/servers/kafka_2.11-0.10.1.0
export JAVA_HOME=/export/servers/jdk1.8.0_141
case $1 in
start) sh $KAFKA_PATH/bin/kafka-server-start.sh $KAFKA_PATH/config/server.properties &;;
stop) sh $KAFKA_PATH/bin/kafka-server-stop.sh $KAFKA_PATH/config/server.properties;;
*) echo "require start|stop" ;;
esac
注:chkconfig 配置说明
#chkconfig: 2345 18 94
默认设置2345启动级别,启动优先级为20,停止优先级为80, 级别为0-100,数字越大,优先级越低
启动级别为7,分别是
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
保存脚本之后,执行chkconfig --add kafka 命令,将其注册为服务
chkconfig --add kafka
为kafka 文件添加 对应的可执行操作
chmod +x kafka
测试效果
# 开启kafka 服务
service kafka start
# 关闭kafka服务
service kafka stop
测试效果
运行启动 kafka 服务
kafka-server-start.sh ../config/server.properties &
创建topic
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183452449-1639391276.png)
kafka-topics.sh --create --partitions 3 --replication-factor 1 --topic kafkatopic --zookeeper node01:2181,node02:2181,node03:2181
--replication-factor 设置 要小于等于 kafka的启动数量
模拟生产者
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183504434-105216001.png)
kafka-console-producer.sh --broker-list node01:9092 --topic kafkatopic
--broker-list kafka集群的配置 (--broker-list node01:9092,node02:9092,node02:9092)
模拟消费者
![](https://img2023.cnblogs.com/blog/683233/202303/683233-20230303183515587-482100999.png)
kafka-console-consumer.sh --from-beginning --topic kafkatopic -zookeeper node01:2181,node02:2181,node03:2181
命令解释
##### 创建一个叫kafkatopic的主题(topic),有两个分区,每个分区3个副本,同时指定该主题的消息保留时长(72小时)
bin/kafka-topics.sh --zookeeper(host:port) --create --topic kafkatopic --replication-factor 3 --partitions 2 --config retention.ms=259200000
##### 向kafka指定topi写入数据
bin/kafka-console-producer.sh --broker-list kafka-host(host:port)--topic kafkatopic
##### 命令行消费某个topic消息
#加了--from-beginning 从头消费所有消息
bin/kafka-console-consumer.sh --bootstrap-server kafka-host(host:port) --topic kafkatopic --from-beginning
#不加--from-beginning 从最新的一条消息开始消费
bin/kafka-console-consumer.sh --bootstrap-server kafka-host(host:port) --topic kafkatopic