大数据-64 Kafka 高级特性 分区 分区重新分配 实测

news2024/9/23 15:30:19

点一下关注吧!!!非常感谢!!持续更新!!!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(正在更新…)

章节内容

上节我们完成了如下的内容,基本都是特性概念相关的:

  • 分区相关介绍
  • 副本机制
  • 同步节点
  • 宕机恢复
  • Leader选举 基础概念、选举过程、为何不少数服从多数

在这里插入图片描述

分区重分配

向已经部署好的Kafka集群里添加机器,我们需要从已经部署好的Kafka节点中复制相应的配置文件,然后把里边的 BrokerID 修改为全局唯一的,最后启动这个节点即可让它加入到现有的Kafka集群中。

当前问题

新添加的Kafka节点并不会自动的分配数据,无法分担集群的负载,除非我们新建一个Topic。
在重新分布Topic分区之前,我们先来看看现在Topic的各个分区的分布位置。

启动服务

如果你的Kafka服务还未启动,需要先启动,再进行后续的测试实验。
我这里启动:

kafka-server-start.sh /opt/servers/kafka_2.12-2.7.2/config/server.properties

启动结果如下图:
在这里插入图片描述

创建主题

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --create --topic wzk_topic_test --partitions 5 --replication-factor 1

我们的配置:

  • 创建一个5个分区的主题
  • Kafka此时的算法会保证所有分区都分配到现有的Kafka代理节点上

创建的结果如下:
在这里插入图片描述

查看主题

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --describe --topic wzk_icu_test

创建的结果如下图,可以观察到5个分区。
在这里插入图片描述

新增Kafka

在新的机器上部署Kafka服务,记得修改BrokerID。
刚才我们是单节点的,Kafka在 h121 节点上。

# 配置内容参考 h121 中的配置
# 但是注意要修改 BrokerID
vim config/server.properties
  • h121 broker 1
  • h122 broker 2
  • h123 broker 3 (暂时还不配置3节点)

在这里插入图片描述
此时我们来到 h122 用如下的命令启动Kafka,我启动的是临时的,如果你有需要,请用守护方式启动。

# 环境变量别忘了配置
kafka-server-start.sh /opt/servers/kafka_2.12-2.7.2/config/server.properties

启动过程如下图:
在这里插入图片描述

查看集群

# 先进入ZK 在ZK中进行查看
zkCli.sh 
get /cluster/id

执行的过程是:

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] get /cluster/id
{"version":"1","id":"DGjwPmfLSk2OKosFFLZJpg"}

重新分区

我们使用Kafka自带的:kafka-reassign-partitions.sh 工具来重新发布分区,该工具有三种使用模式:

  • generate模式,给定需要重新分配的的Topic,自动生成 reassign plan (不会自动执行)
  • execute模式,根据指定的 reassign plan重新分配 Partition
  • verify模式,验证重新分配Partition是否成功

生成JSON

vim wzk_icu_test_to_move.json

{
  "topics": [
    {
      "topic": "wzk_icu_test"
    }
  ],
  "version": 1
}

当前结果如下:
在这里插入图片描述
执行如下的脚本,来对分区进行配置:

kafka-reassign-partitions.sh --zookeeper h121.wzk.icu:2181 --topics-to-move-json-file wzk_icu_test_to_move.json --broker-list "0,1" --generate

观察控制台的结果:
在这里插入图片描述

执行计划

Proposed Partition Reassignment Configuration 下面生成的就是将分区重新发布到 Broker 1上的结果,我们将这些内容保存到 result.json 中

vim result.json

{"version":1,"partitions":[{"topic":"wzk_icu_test","partition":0,"replicas":[1],"log_dirs":["any"]},{"topic":"wzk_icu_test","partition":1,"replicas":[0],"log_dirs":["any"]},{"topic":"wzk_icu_test","partition":2,"replicas":[1],"log_dirs":["any"]},{"topic":"wzk_icu_test","partition":3,"replicas":[0],"log_dirs":["any"]},{"topic":"wzk_icu_test","partition":4,"replicas":[1],"log_dirs":["any"]}]}

运行后的写入情况如下:
在这里插入图片描述
我们继续执行:

kafka-reassign-partitions.sh --zookeeper h121.wzk.icu:2181 --reassignment-json-file wzk_icu_test_to_move_result.json --execute

显示结果如下,已经完成分区:
在这里插入图片描述

校验结果

kafka-reassign-partitions.sh --zookeeper h121.wzk.icu:2181 --reassignment-json-file wzk_icu_test_to_move_result.json --verify

显示结果如下:
在这里插入图片描述

重新查看分区情况

kafka-topics.sh --zookeeper h121.wzk.icu:2181 --describe --topic wzk_icu_test 

显示的内容如下:
在这里插入图片描述
可以看到我们已经顺利的完成了重新分区分配!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976566.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用uwsgi部署Flask应用

前言:本人大四,研0,在24年暑假在杭州某互联网公司实习,本文用来记录自己在公司学到的东西。 uwsgi:uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服…

集合的基本使用

数据和集合的区别 数组可以存储基本数据类型和引用数据类型。 但是,集合不可以直接存储基本数据类型,需要以包装类的方式进行存储,其可以存储引用数据类型。 ArrayList 成员方法 import java.util.ArrayList;/*** ClassName Test* author …

[Meachines] [Easy] Postman redis未授权访问-SSH公钥注入+RSA私钥解密+Webmin-RCE权限提升

信息收集 IP AddressOpening Ports10.10.10.160TCP:22,80,6379,10000 $ nmap -p- 10.10.10.160 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048…

计算机基础(Windows 10+Office 2016)教程 —— 第7章 演示文稿软件PowerPoint 2016

第7章 演示文稿软件PowerPoint 2016 7.1 PowerPoint 2016入门7.1.1 PowerPoint 2016 简介7.1.2 PowerPoint 2016 的操作界面组成7.1.3 PowerPoint 2016 的窗口视图方式7.1.4 PowerPoint 2016 的演示文稿及其操作7.1.5 PowerPoint 2016 的幻灯片及其操作 7.2 演示文稿的编辑与设…

win 10 局域网共享

1,打开共享 控制面板\网络和 Internet\网络和共享中心\高级共享设置 (在控制面板界面建议使用大图片或小图标容易找到目标) 或者直接复制红色部分,然后打开此电脑,粘贴到地址栏直接回车即可直接到达几面 打开如下2个…

HCIP-综合实验

实验题目与要求如下所示: 根据题目要求进行划分网段: 1、配置各个路由器的ip地址以及环回地址: R1 R2 R3 R4 R5 R6 R7 2、配置rip的基本功能:启动rip进程,指定网段使用rip R1 R2 R3 R4 R5 R6 R7 3、R1创建环回172.…

微信答题小程序产品研发-页面交互设计

答题小程序页面交互设计,针对答题小程序的所有主要页面和功能模块,包括首页、轮播图、公告、微信授权登录、题库练习、出题考试、错题集、答题历史、收藏、个人中心等。 1、目的 答题小程序页面为什么要进行交互设计? 据我分析,…

品牌热度维系策略:深度触达,让每一次互动都成为爱的记忆累积

在浩瀚的商业宇宙中,每一个品牌都如同夜空中闪烁的星辰,它们或明或暗,共同编织着市场的繁星图景。当谈及品牌与消费者之间那份微妙而深邃的情感联结时,我们不禁要深入探讨一个核心议题:在快速迭代的消费时代&#xff0…

二十天刷leetcode【hot100】算法- day1[后端golang]

哈希表 其他语言版本 ts-day1 js-day1 python-day1 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xf…

ue5 打开关卡,未正常加载地形及物品。资产必须放在content目录下

1.资产必须放在content目录下 2.要把A拿到B去用,必须使用资产迁移,不可直接拷贝,因为有依赖文件

Qt 学习第四天:信号和槽机制(核心特征)

信号和槽的简介 信号和插槽用于对象之间的通信。信号和插槽机制是Qt的核心特征,可能是不同的部分大部分来自其他框架提供的特性。信号和槽是由Qt的元对象系统实现的。介绍(来自Qt帮助文档Signals & Slots) 在GUI编程中,当我们…

安装sqllab靶机之后,练习关卡报403 forbidden

解决办法: 在nginx的conf文件中添加上访问index.php vim /usr/local/nginx/conf/nginx.conf 保存退出 再重启一下nginx,就完成了。 ./nginx -s reload

中国AI大模型场景探索及产业应用调研报告

AI大模型发展态势 定义 AI大模型是指在机器学习和深度学习领域中,采用大规模参数(至少在一亿个以上)的神经网络模型,AI大模型在训练过程中需要使用大量的算力和高质量的数据资源。 产业规模 2023年,中国大模型市场规模为147亿。结合《202…

python pip怎么安装包

按WinR键打开运行窗口,输入“cmd”,再按回车键,打开命令行窗口。 找到pip安装路径。 Python2/Python3安装路径是相同的,都在x:\Python xx\Scripts路径下。 拖动pip主应用程序到命令行窗口。 输入“install 模块/包名”&#xff…

Ubuntu22.04之VirtualBox7.0.18安装Win10无法启用增强功能问题(二百六十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…

优盘驱动器未格式化:数据拯救行动指南

优盘困境:驱动器未格式化的挑战 在日常的数据存储与传输中,优盘以其便携性和高容量成为了我们不可或缺的伙伴。然而,当您尝试访问优盘时,突然弹出的“驱动器未被格式化”提示却如同晴天霹雳,让人措手不及。这一状况不…

AI写作|告诉你CoT的几个简单步骤,使用后大幅提升AI的推理能力

随着对 AI 不断了解,我深切体会到一个高效的提示词有多重要。希望这篇能给不会写高效提示词的朋友一些思路,让你能更顺手地使用 AI。 什么是思考链 (CoT) 思考链(Chain of Thought,简称 CoT)是一种推理策略&#xff0c…

Git代码冲突怎么处理?

我们在使用Git时难免会出现代码冲突的问题,出现冲突的原因是因为当本地文件的版本与目标分支中文件的版本不一致时当存在同一行的内容不同时在进行合并时会出现冲突。 代码冲突一般发生在以下情况: 1、多个分支向主分支合并时 2、同一个分支下pull或push操作时。 为…

python 可视化探索(四):电商数据可视化案例

总结:本文为和鲸python 可视化探索训练营资料整理而来,加入了自己的理解(by GPT4o) 注意跟练题目3中提到的多种数据替换方式,非常值得学习!! 原作者:作者:大话数据分析…

【人工智能专栏】Focal Loss 可以平衡简单样本和困难样本(或大量样本和少量样本)的学习

Focal Loss 理念 Focal loss 可以 平衡简单样本和困难样本(或大量样本和少量样本)的学习 。在遇到样本不同类别之间学习难度相差很大(比如区分飞机、摩托车和自行车,飞机的特征明显与后两者更易区分,可以用混淆矩阵看出来),或者样本数量相差很多时(飞机有 1k 个样本,…