• 单节点部署kafka,kafka所使用的版本是3.7.2,采用kraft模式,没有使用zookeeper;下载链接:https://pan.quark.cn/s/f3975f6fb713
  • 部署的环境是麒麟操作系统;
  • java环境是用的java17(最少使用java11)下载链接
    链接:https://pan.quark.cn/s/79dc37350e33
  • 使用offset explore 下载链接:https://pan.quark.cn/s/9924e1d51175
  • 最后使用offset连接kafka

安装kafka

# 解压
tar -xzf kafka_2.13-3.7.2.tgz
cd kafka_2.13-3.7.2

1. 生成集群 ID:

KAFKA_CLUSTER_ID=$(bin/kafka-storage.sh random-uuid)

2. 格式化日志目录:

bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties

3. 启动 KRaft 服务器:

bin/kafka-server-start.sh config/kraft/server.properties

4. 创建数据目录

mkdir -p /tmp/kraft-combined-logs

kafka 安装目录下的配置文件config/kraft/server.properties

# 角色:既是 broker 又是 controller
process.roles=broker,controller
node.id=1

# 控制器仲裁投票者(格式:id@host:controller_port)
controller.quorum.voters=1@localhost:9093
# 定义两个 listener:
# - PLAINTEXT 用于客户端(生产者/消费者)
# - CONTROLLER 用于 controller 内部通信
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
# 告诉 Kafka 哪个 listener 是给 controller 用的
controller.listener.names=CONTROLLER
# 客户端连接时看到的地址(只暴露 PLAINTEXT)
advertised.listeners=PLAINTEXT://localhost:9092
# 协议映射(可选,但建议显式写)
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
# 日志目录
log.dirs=/tmp/kraft-combined-logs
# 其他常规配置
num.partitions=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
group.initial.rebalance.delay.ms=0

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐