https://blog.csdn.net/web17886480312/article/details/126034345

最近在搞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

  

 

 

 

注:这里的zookeeper.connect用的是localhost,也可以使用服务器的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@192 config]# jps
83479 Jps
3662 QuorumPeerMain
4014 Kafka

  

(3)创建kafka主题:

topic为test

./bin/kafka-topics.sh --create --zookeeper 192.168.1.10: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.1.10: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.1.10: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.1.10:9092 --topic test2

  

(7)创建kafka消费者

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.10:9092 --topic test2 --from-beginning

  

–from-beginning 是从头开始消费

如下图所示:

 

 

解释:

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

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

 

转自:https://blog.csdn.net/web17886480312/article/details/126034345

posted on 2023-04-05 12:37  兰栖  阅读(109)  评论(0编辑  收藏  举报