当前位置: 首页 > news >正文

kafka集群安装

文章目录

  • 前言
  • 一、下载
  • 二、解压
  • 三、修改配置文件
  • 四、创建数据目录
  • 五、初始化元数据(重要)
  • 六、启动
  • 七、验证
  • 八、生产消费消息
  • 九、设置开机启动
  • 总结


前言

kafka版本:2.13-3.9.1
下载地址:https://kafka.apache.org/downloads
节点1: 192.168.0.114
节点2: 192.168.0.127
节点3: 192.168.0.128


一、下载

下载地址:https://kafka.apache.org/downloads

二、解压

在每台机器上解压到:/root/kafka_2.13-3.9.1
在这里插入图片描述

三、修改配置文件

每台机器都修改配置文件:

vim /root/kafka_2.13-3.9.1/config/kraft/server.properties

每个节点的node.id不一样,注意修改:controller.quorum.voters
节点1:

process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.0.114:9093,2@192.168.0.127:9093,3@192.168.0.128:9093
listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.0.114:9092,CONTROLLER://192.168.0.114:9093
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/opt/kafka/data-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

节点2:

process.roles=broker,controller
node.id=2
controller.quorum.voters=1@192.168.0.114:9093,2@192.168.0.127:9093,3@192.168.0.128:9093
listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.0.127:9092,CONTROLLER://192.168.0.127:9093
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/opt/kafka/data-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

节点3:

process.roles=broker,controller
node.id=3
controller.quorum.voters=1@192.168.0.114:9093,2@192.168.0.127:9093,3@192.168.0.128:9093
listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.0.128:9092,CONTROLLER://192.168.0.128:9093
controller.listener.names=CONTROLLER
listener.security.protocol.map=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/opt/kafka/data-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

四、创建数据目录

在每台机器上执行:

mkdir -p /opt/kafka/data-logs

五、初始化元数据(重要)

在节点1上执行:

CLUSTER_ID=$(/root/kafka_2.13-3.9.1/bin/kafka-storage.sh random-uuid)
echo $CLUSTER_ID

此时会输出一串id,类似:z5KQBvw2QV6UqMSaUDH5IQ
这个id是集群id,每台机器上都需要一样。

每个节点上执行:

/root/kafka_2.13-3.9.1/bin/kafka-storage.sh format -t z5KQBvw2QV6UqMSaUDH5IQ -c /root/kafka_2.13-3.9.1/config/kraft/server.properties

此时会在/opt/kafka/data-logs中产生配置:meta.properties

六、启动

每个节点执行:

/root/kafka_2.13-3.9.1/bin/kafka-server-start.sh -daemon /root/kafka_2.13-3.9.1/config/kraft/server.properties

查看日志有没有报错。
有报错大概率是第五步有问题,如果解决不了,则在每台机器执行:rm -rf /opt/kafka/data-logs
再重新做第五步。

七、验证

在每个节点上执行:

# 查看当前 broker 状态
netstat -tnlp | grep 9092

在某个节点上创建topic:

# 创建 topic
/root/kafka_2.13-3.9.1/bin/kafka-topics.sh --create --topic test --bootstrap-server 192.168.0.114:9092 --partitions 3 --replication-factor 3

在某个节点上查看topic:

/root/kafka_2.13-3.9.1/bin/kafka-topics.sh --list --bootstrap-server 192.168.0.114:9092

在这里插入图片描述

八、生产消费消息

在某个节点上执行:

#生产消息
/root/kafka_2.13-3.9.1/bin/kafka-console-producer.sh --bootstrap-server 192.168.0.127:9092 --topic test

在某个节点上执行:

#消费消息
/root/kafka_2.13-3.9.1/bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.114:9092 --topic test --from-beginning

在这里插入图片描述
在这里插入图片描述

九、设置开机启动

在每个节点上执行:

vim /etc/systemd/system/kafka.service

将以下内容复制进去:

[Unit]
Description=Apache Kafka (KRaft mode)
After=network.target[Service]
Type=simple
User=root
Environment="JAVA_HOME=/root/jdk-17.0.11"
Environment="PATH=/root/jdk-17.0.11/bin:/usr/bin:/bin"
ExecStart=/root/kafka_2.13-3.9.1/bin/kafka-server-start.sh /root/kafka_2.13-3.9.1/config/kraft/server.properties
ExecStop=/root/kafka_2.13-3.9.1/bin/kafka-server-stop.sh
Restart=on-failure
LimitNOFILE=65536[Install]
WantedBy=multi-user.target

执行:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart kafka
sudo systemctl status kafka -l

没问题后执行:

sudo systemctl enable kafka

总结

kafka集群安装

http://www.dtcms.com/a/270115.html

相关文章:

  • 让事情变得更好
  • Shader面试题100道之(21-40)
  • 光流 | RAFT光流算法如何改进提升
  • 【适合 Java 工程师的 AI 转型方向】
  • 基于PHP/MySQL的企业培训考试系统源码,高并发、稳定运行,源码开源可二开
  • Java中的生产消费模型解析
  • Distance Information Improves Heterogeneous Graph Neural Networks
  • 质量小议56 - 说教
  • [ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
  • vscode打开stm32CubeIDE的项目的注释问题
  • 从分层训练到一步生成:Kaiming He 的生成模型进化之路—CVPR2025演讲小结
  • 网络--初级
  • springboot单体项目的发布生产优化
  • DMA(直接内存访问)是什么?
  • 第2章,[标签 Win32] :匈牙利标记法
  • 13届蓝桥杯省赛程序设计试题
  • 字符串大小比较的方式|函数的多返回值
  • 作业03-SparkSQL开发
  • 数字化校园升级:传统网络架构与SD-WAN智能方案对比详解
  • 汽车功能安全-软件单元验证 (Software Unit Verification)【定义、目的、要求建议】6
  • 【数据分析】基于 HRS 数据的多变量相关性分析与可视化
  • uniapp b树
  • C++笔记之使用bitset对uint32_t类型变量对位状态判断
  • 2025年深圳杉川机器人性格测评和Verify测评SHL题库高分攻略
  • 论文略读:Parameter-efficient transfer learning for NLP
  • InstructBLIP:迈向具备指令微调能力的通用视觉语言模型
  • Go语言标识符命名规则详解:工程化实践
  • Spring的依赖注入(xml)
  • RISC-V:开源芯浪潮下的技术突围与职业新赛道 (一)为什么RISC-V是颠覆性创新?
  • 安装 asciidoctor-vscode 最新版