Centos8安装kafka【单机版】

kafka自2.8.0版本开始,不再将zookeeper作为必需组件,本文的实验环境为kafka2.4.0,因此在安装kafka之前,首先需要安装zookeeper。

1. 下载kafka与zookeeper

kafka下载地址
需要下载与kafka版本对应的zookeeper版本,进入kafka安装包的libs目录,查看对应zookeeper依赖。

cd /usr/local/src/
wget https://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-2.4.0.tgz
tar -zxvf kafka_2.12-2.4.0.tgz
# 查看版本:
cd kafka_2.12-2.4.0/libs
ls | grep zookeeper

image
可以看到,2.4.0版本的kafka依赖的zookeeper的版本为3.5.6。
image
zookeeper下载镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

2. 安装zookeeper

2.1 解压zookeeper

tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz

2.2 修改配置文件

cd /usr/local/src/apache-zookeeper-3.5.6-bin/conf
cp zoo_sample.cfg zoo.cfg

2.3 启动测试

cd /usr/local/src/apache-zookeeper-3.5.6-bin/bin
# 启动
./zkServer.sh start
# 停止
./zkServer.sh stop

image
2.4 将zookeeper启动命令加入环境变量

vi /etc/profile
export PATH=$PATH:/usr/local/src/apache-zookeeper-3.5.6-bin/bin
source /etc/profile

3. 配置kafka

vi /usr/local/src/kafka_2.12-2.4.0/config/server.properties
//如果只允许本地访问 则用localhost,如果需要外网可以访问则用服务器地址,即安装kafka的主机ip,我是在虚拟机上安装,故填虚拟机IP:192.168.29.128
listeners=PLAINTEXT://192.168.29.128:9092

//dataDir是数据存放位置,默认是/tmp/kafka-logs
# dataDir=xxxx
//这个是删除topic时才用得到的,如果不想删除topic,可以不加
# delete.topic.enable=true

4. 启动kafka

进入bin目录
前台启动
kafka-server-start.sh ../config/server.properties
后台启动
nohup kafka-server-start.sh ../config/server.properties >> /dev/null &

5. 创建topic

进入bin目录

./kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic test --zookeeper localhost:2181

--zookeeper后面的参数需要与server.properties配置中的一致,server.properties在config目录下,见下图
image

6. 发送接收消息

以下操作均在bin目录下进行
6.1 创建生产者

kafka-console-producer.sh --broker-list localhost:9092 --topic test

image
6.2 创建消费者

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

image
6.3 为kafka配置系统环境变量

vi /etc/profile
export PATH=$PATH:/usr/local/src/kafka_2.12-2.4.0/bin
source /etc/profile

补充

kafka的一些操作

kafka主题
kafka-topics.sh 
生产者
kafka-console-producer.sh
消费者
kafka-console-consumer.sh

topic的一些操作

查看列表
kafka-topics.sh --zookeeper 127.0.0.1:2181 --list

创建topic
kafka-topics.sh --create --replication-factor 1 --partitions 1 --topic test --zookeeper localhost:2181

查看某个topic
kafka-topics.sh --zookeeper localhost:2181 --describe --topic test

删除topic(分两步)
(第一步)
kafka-topics.sh  --delete --zookeeper localhost:2181 --topic test
(第二步 找到top存放位置:server.properties中dataDir)
cd /tmp/kafka-logs
删除 test-0(如果kafka配置文件中delete.topic.enable=true没有设置的话,需要手动删除目录)
rm -rf test-0

参考文章:
https://blog.csdn.net/qq_34892981/article/details/110668529
推荐一个kafka的可视化工具,地址如下:
https://www.cnblogs.com/miracle-luna/p/11299345.html

posted @ 2023-11-22 18:11  梦醒时风  阅读(345)  评论(0)    收藏  举报