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

升级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

相关文章:

  • windows编程:LIB和OBJ格式文件解析
  • 如何实现金蝶云星空到MySQL的数据高效集成
  • GTS-400 系列运动控制器板卡介绍(三十三)---运动程序单线程累加求和
  • 小学数学题批量生成及检查工具
  • 如何导出一个python项目中的所有依赖包及其版本信息requirements.txt
  • JS手写代码篇---手写 instanceof 方法
  • 卡尔曼滤波及变种 KF EKF ESKF的区别跟用法
  • 医学图像分析中的大规模基准测试与增强迁移学习|文献速递-深度学习医疗AI最新文献
  • Java【13_1】final、初始化块、继承(测试题)
  • 基于“岗课赛证”融通的中职“综合布线技术”课程解决方案
  • 物联网技术在银行安全用电系统中的应用与实践研究
  • 网络安全-等级保护(等保) 2-6 GB/T 36958—2018 《信息安全技术 网络安全等级保护安全管理中心技术要求》-2018-12-28 发布【现行】
  • 14 C 语言浮点类型详解:类型精度、表示形式、字面量后缀、格式化输出、容差判断、存储机制
  • 【MySQL】索引太多会怎样?
  • Qt图表绘制(QtCharts)- 性能优化(13)
  • 高速光耦在通信行业的应用(五) | 5Mbps通信光耦的特性
  • FEKO许可证与版本兼容性问题
  • PT2062单触控单输出LED调光IC
  • c++ 类的语法4
  • 1.4 查看dll的架构(X86\X64)以及X86能否在X64下运行
  • 霍步刚任辽宁沈阳市委书记
  • 俄乌代表团抵达谈判会场
  • 师爷、文士、畸人:会稽范啸风及其著述
  • 2000多年前的“新衣”长这样!马王堆文物研究新成果上新
  • 钕铁硼永磁材料龙头瞄准人形机器人,正海磁材:已向下游客户完成小批量供货
  • 《歌手2025》公布首发阵容,第一期就要淘汰一人