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

升级kafka4.0.0,无ZK版本

设备规划:

172.20.192.47 kafka-0

172.20.192.48 kafka-1

172.20.192.49 kafka-2

单机块7TB Nvme磁盘一共9块

# 格式化成GPT分区
sudo parted /dev/nvme0n1 --script mklabel gpt
sudo parted /dev/nvme1n1 --script mklabel gpt
sudo parted /dev/nvme2n1 --script mklabel gpt
# 磁盘格式xfs
sudo mkfs.xfs -f /dev/nvme0n1
sudo mkfs.xfs -f /dev/nvme1n1
sudo mkfs.xfs -f /dev/nvme2n1mkdir -p /data/kafka0
mkdir -p /data/kafka1
mkdir -p /data/kafka2# 修改/etc/fstab
/dev/nvme0n1 /data/kafka0 xfs defaults 0 0
/dev/nvme1n1 /data/kafka1 xfs defaults 0 0
/dev/nvme2n1 /data/kafka2 xfs defaults 0 0# 测试mount
sudo mount -a# 检测
df -hT

环境设置 

-e KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 \  # 3副本
-e KAFKA_CFG_NUM_PARTITIONS=2 \  # 2分区,吞吐量大的可以调高


# 增加分区数(例如将 test-topic 从 3 个分区增加到 6 个)
kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic test-topic --partitions 6

需要严格保证消息顺序的队列需要设置
kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic index-topic --partitions 1

docker run -d \
--name kafka-0 \
--user root \
-p 9092:9092 \
-p 9093:9093 \
-e KAFKA_CFG_NODE_ID=0 \
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@172.20.192.47:9093,1@172.20.192.48:9093,2@172.20.192.49:9093 \
-e KAFKA_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://172.20.192.47:9092 \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT \
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 \
-e KAFKA_CFG_LOG_DIRS=/bitnami/kafka/data0,/bitnami/kafka/data1,/bitnami/kafka/data2 \
-e KAFKA_CFG_CONTROLLER_ELECTION_TIMEOUT_MS=50000 \
-e KAFKA_CFG_CONTROLLER_STARTUP_TIMEOUT_MS=60000 \
-e KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_NUM_PARTITIONS=2 \
-v /data/kafka0:/bitnami/kafka/data0 \
-v /data/kafka1:/bitnami/kafka/data1 \
-v /data/kafka2:/bitnami/kafka/data2 \
bitnami/kafka:4.0.0docker run -d \
--name kafka-1 \
--user root \
-p 9092:9092 \
-p 9093:9093 \
-e KAFKA_CFG_NODE_ID=1 \
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@172.20.192.47:9093,1@172.20.192.48:9093,2@172.20.192.49:9093 \
-e KAFKA_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://172.20.192.48:9092 \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT \
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 \
-e KAFKA_CFG_LOG_DIRS=/bitnami/kafka/data0,/bitnami/kafka/data1,/bitnami/kafka/data2 \
-e KAFKA_CFG_CONTROLLER_ELECTION_TIMEOUT_MS=50000 \
-e KAFKA_CFG_CONTROLLER_STARTUP_TIMEOUT_MS=60000 \
-e KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_NUM_PARTITIONS=2 \
-v /data/kafka0:/bitnami/kafka/data0 \
-v /data/kafka1:/bitnami/kafka/data1 \
-v /data/kafka2:/bitnami/kafka/data2 \
bitnami/kafka:4.0.0docker run -d \
--name kafka-2 \
--user root \
-p 9092:9092 \
-p 9093:9093 \
-e KAFKA_CFG_NODE_ID=2 \
-e KAFKA_CFG_PROCESS_ROLES=controller,broker \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@172.20.192.47:9093,1@172.20.192.48:9093,2@172.20.192.49:9093 \
-e KAFKA_KRAFT_CLUSTER_ID=abcdefghijklmnopqrstuv \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://172.20.192.49:9092 \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT \
-e KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2 \
-e KAFKA_CFG_LOG_DIRS=/bitnami/kafka/data0,/bitnami/kafka/data1,/bitnami/kafka/data2 \
-e KAFKA_CFG_CONTROLLER_ELECTION_TIMEOUT_MS=50000 \
-e KAFKA_CFG_CONTROLLER_STARTUP_TIMEOUT_MS=60000 \
-e KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3 \
-e KAFKA_CFG_NUM_PARTITIONS=2 \
-v /data/kafka0:/bitnami/kafka/data0 \
-v /data/kafka1:/bitnami/kafka/data1 \
-v /data/kafka2:/bitnami/kafka/data2 \
bitnami/kafka:4.0.0

上面部署好以后可以加个监控,可以在设备IP:9000查看监控

http://172.20.192.204:9000

docker run -d \--name kafka-ui \-p 9000:8080 \-e KAFKA_CLUSTERS_0_NAME=local \-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=172.20.192.47:9092,172.20.192.48:9092,172.20.192.49:9092 \-e KAFKA_CLUSTERS_0_CONTROLLERSERVERS=172.20.192.47:9093,172.20.192.48:9093,172.20.192.49:9093 \provectuslabs/kafka-ui:latestdocker update --restart=always kafka-ui

http://www.xdnf.cn/news/6556.html

相关文章:

  • android 安装openwrt 安正步骤
  • Android trace中CPU的RenderThread与GPU
  • 4.6. 暂退法(Dropout)笔记
  • 【沉浸式求职学习day41】【Servlet】
  • AWS SageMaker vs Bedrock:该选哪个?
  • 在 Visual Studio Code (VSCode) 中配置 MCP(Model Context Protocol)
  • 光学变焦和数字变倍模块不同点概述!
  • 1T 服务器租用价格解析
  • Centos7系统(最小化安装)安装zabbix7版本详细文章、nginx源代码配置、php源代码、mysql-yum安装
  • 基于对抗性后训练的快速文本到音频生成:stable-audio-open-small 模型论文速读
  • Fabric 服务端插件开发简述与聊天事件监听转发
  • 中科曙光服务器监控指标说明
  • 常见面试题
  • 电动流量调节V型球阀生产厂家|高精度耐磨控制阀解决方案-耀圣
  • rocketMQ
  • Unity:延迟执行函数:Invoke()
  • 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) | 珂学家
  • 深入理解二叉树:遍历、存储与算法实现
  • LIIGO ❤️ RUST 12 YEARS
  • Milvus(24):全文搜索、文本匹配
  • STM32的ADC模块中,**采样时机(Sampling Time)**和**转换时机(Conversion Time),获取数据的时机详解
  • 【leetcode】144. 二叉树的前序遍历
  • Rust 数据结构:String
  • iOS SwiftUI的具体运用实例(SwiftUI库的运用)
  • 深入解析ZAB协议:ZooKeeper的分布式一致性核心
  • YOLOv3深度解析:多尺度特征融合与实时检测的里程碑
  • 【图像生成1】Latent Diffusion Models 论文学习笔记
  • Java注解详解:从入门到实战应用篇
  • Graph Representation Learning【图最短路径优化/Node2vec/Deepwalk】
  • 开源鸿蒙北向源码开发: 5.0kit化相关sdk编译