Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer,以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器的选举等。
由于重度依赖Zookeeper集群,当Zookeeper集群性能发生抖动时,Kafka的性能也会收到很大的影响。因此,在Kafka发展的过程当中,为了解决这个问题,提供KRaft模式,来取消Kafka对Zookeeper的依赖。
在Kafka引入KRaft新内部功能后,对Zookeeper的依赖将会被取消。在 KRaft 中,一部分 broker 被指定为控制器,这些控制器提供过去由 ZooKeeper 提供的共识服务。所有集群元数据都将存储在 Kafka 的topic中并在内部进行管理。
下载安装包:wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz --no-check-certificate
。
注意:kafka_2.12-3.5.2.tgz
,2.12
对应scala版本;3.5.2
对应kafka版本。
解压:tar -zxvf kafka_2.12-3.5.2.tgz -C /export/server/
创建数据存储目录:mkdir /data/kafka_kraft-combined-log
修改配置文件:vim kafka_2.12-3.5.2/config/kraft/server.properties
# Kafka broker对外公布的监听地址和端口
advertised.listeners=PLAINTEXT://192.168.1.6:9092
# Kafka存储数据的目录
log.dirs=/data/kafka_kraft-combined-log
格式化存储目录
执行命令:kafka_2.12-3.5.2/bin/kafka-storage.sh random-uuid
,得到一个uuid:xxxxx…
执行命令:kafka_2.12-3.5.2/bin/kafka-storage.sh format -t xxxxx -c config/kraft/server.properties
,格式化存储目录。
格式化之后的存储目录多了以下两个文件:
安装完成,开始使用吧。
单机启动:kafka_2.12-3.5.2/bin/kafka-server-start.sh -daemon config/kraft/server.properties
单机停止:kafka_2.12-3.5.2/bin/kafka-server-stop.sh
查看进程
创建topic:kafka_2.12-3.5.2/bin/kafka-topics.sh --create --topic predict_task_log --bootstrap-server 192.168.1.6:9092
创建完topic之后,会在数据存储目录自动新增目录用来存放该topic数据。