Kafka 单机部署搭建及其基本使用

发布时间 2023-06-06 20:19:56作者: GaoYanbing

最近在搞Flink 框架 其中数据源需要模拟kafka取数据 ,于是自己搭建了一套单机的kafka环境,以便用于测试。现整理如下的笔记,发上来和大家分享。后续还会有kafka的相关笔记,会与大家继续分享!

当前文档所部署服务器 IP地址为192.168.118.218 hostname 为web

一、 kafka环境搭建
下载kafka很简单,可以使用源码的方式和安装包的方式安装。这里使用安装包的方式进行安装,只需要进行解压运行即可。
源码下载地址:https://archive.apache.org/dist/kafka/2.5.0/kafka-2.5.0-src.tgz
安装包下载地址:https://archive.apache.org/dist/kafka/2.5.0/kafka_2.12-2.5.0.tgz

(1)、解压kafka_2.12-2.5.0.tgz,得到 "kafka_2.12-2.5.0 " 文件夹。

tar -zxvf kafka_2.12-2.5.0.tgz


(2)、kafka需要安装zookeeper使用,但kafka集成zookeeper,在单机搭建时可直接使用。使用需配置kafka_2.12-2.5.0/config 下的“zookeeper.properties”

cd kafka_2.12-2.5.0/config
注:经过部署发现 kafka必须配置zookeeper 否则无法启动 无论是单机还是集群,必须,必须,必须开启

 

(3)、配置"zookeeper.properties"。修改dataDir和clientPort。前者是快照存放地址(自己随意配置),后者是客户端连接zookeeper服务的端口。默认端口2181 最好默认不修改

vim kafka_2.12-2.5.0/config/zookeeper.properties


(4)、配置kafka_2.12-2.5.0/config下的“server.properties”,修改log.dirs和zookeeper.connect。前者是日志存放文件夹,后者是zookeeper连接地址(端口和clientPort保持一致)。

vim kafka_2.12-2.5.0/config/server.properties


注:这里的web 为服务器的hostname 能不能写ip呢?大家可以试试,我这里写的是我的hostname

 

注:若需要外部访问 一定需要配置listeners 默认为本机IP 端口默认9092 如图:

 

到此,kafka的单机环境就搭建成功了。

二 kafka的相关命令
(1) 开启kafka自带zookeeper

前台运行:

./bin/zookeeper-server-start.sh ./config/zookeeper.properties
后台运行:

./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
(2) 开启kafka

前台运行:

bin/kafka-server-start.sh config/server.properties
后台运行:

./bin/kafka-server-start.sh -daemon ./config/server.properties
使用jps命令查看是否正常了

[root@web config]# jps
10978 QuorumPeerMain
31613 ConsoleConsumer
31150 Kafka
41839 Jps
(3)创建kafka主题:

topic为test

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

#也可以使用下面命令 与上面命令等效
./bin/kafka-topics.sh --create --zookeeper web:2181 --replication-factor 1 --partitions 1 --topic test
其中zookeeper 可以使用hostname 也可以使用IP,若使用hostname,请注意hosts 即/etc/hosts 与hostname最好保持一致!

(4)显示kafka所有主题:

./bin/kafka-topics.sh --list --zookeeper 192.168.118.128:2181

#也可以使用下面命令 与上面命令等效
./bin/kafka-topics.sh --list --zookeeper web:2181




[root@web kafka_2.12-2.5.0]# ./bin/kafka-topics.sh --list --zookeeper 192.168.118.128:2181
__consumer_offsets
test
test1
test2

(5)查看某个主题的详细信息:

./bin/kafka-topics.sh --zookeeper 192.168.118.128:2181 --describe --topic test2


Topic: test2 PartitionCount: 2 ReplicationFactor: 1 Configs:
Topic: test2 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: test2 Partition: 1 Leader: 0 Replicas: 0 Isr: 0
(6)创建kafka生产者:

./bin/kafka-console-producer.sh --broker-list 192.168.118.128:9092 --topic test2
(7)创建kafka消费者

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.118.128:9092 --topic test2 --from-beginning
--from-beginning 是从头开始消费

如下图所示:

 

解释:

--zookeeper:后面接的是你配置的zookeeper地址

--broker-list:默认端口为9092.可自行更改


————————————————
版权声明:本文为CSDN博主「树下水月」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013416034/article/details/123875299