kafka部署的一些心得体会
·
- 单节点部署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
更多推荐
所有评论(0)