# Kafka_深入探秘者(5):kafka 分区

Kafka_深入探秘者(5):kafka 分区

一、kafka 副本机制

1、Kafka 可以将主题划分为多个分区(Partition),会根据分区规则选择把消息存储到哪个分区中,只要如果分区规则设置的合理,那么所有的消息将会被均匀的分布到不同的分区中,这样就实现了负载均衡和水平扩展。另外,多个订阅者可以从一个或者多个分区中同时消费数据,以支撑海量数据处理能力。

2、由于 kafka 消息是以追加到分区中的,多个分区顺序写磁盘的总效率要比随机写内存还要高(引用 ApacheKafka-A High Throughput Distributed Messaging System 的观点),是 Kafka 高吞吐率的重要保证之一。

3、kafka 副本机制

  • 1)在由于 Producer 和 Consumer 都只会与 Leader 角色的分区副本相连,所以 kafka 需要以集群的组织形式提供主题下的消息高可用。kafka 支持主备复制,所以消息具备高可用和持久性。

  • 2)kafka 一个分区可以有多个副本,这些副本保存在不同的 broker 上。每个分区的副本中都会有一个作为 Leader。当一个 broker 失败时,Leader 在这台 broker 上的分区都会变得不可用,kafka 会自动移除 Leader,再其他副本中选一个作为新的 Leader。

  • 3)在通常情况下,增加分区可以提供 kafka 集群的吞吐量。然而,也应该意识到集群的总分区数或是单台服务器上的分区数过多,会增加不可用及延迟的风险。

kafka集群.png

二、kafka Leader 选举

1、Kafka 可以预见的是,如果某个分区的 Leader 挂了,那么其它跟随者将会进行选举产生一个新的 leader,之后所有的读写就会转移到这个新的 Leader 上,在 kafka 中,其不是采用常见的多数选举的方式进行副本的 Leader 选举,而是会在 Zookeeper 上针对每个 Topic 维护一个称为 ISR(in-syncreplica,已同步的副本)的集合,显然还有一些副本没有来得及同步。只有这个 ISR 列表里面的才有资格成为 leader (先使用ISR里面的第一个,如果不行依次类推,因为 ISR 里面的是同步副本,消息是最完整且各个节点都是一样的)。

2、kafka 通过 ISR,kafka 需要的冗余度较低,可以容忍的失败数比较高。假设某个 topic 有 f+1 个副本,kafka 可以容忍 f 个不可用,当然,如果全部 ISR 里面的副本都不可用,也可以选择其他可用的副本,只是存在数据的不一致。

3、Leader 选举随机示例图:

Leader选举随机示例图.png

三、kafka 分区重新分配 001

1、部署好的 Kafka 集群里面添加机器是最正常不过的需求,而且添加起来非常地方便,从已经部署好的 Kafka 节点中复制相应的配置文件,然后把里面的 brokerid 修改成全局唯一的,最后启动这个节点即可将它加入到现有 Kafka 集群中。

2、新添加的 Kafka 节点并不会自动地分配数据,所以无法分担集群的负载,除非我们新建一个 topic。 手动将部分分区移到新添加的 Kafka 节点上,Kafka 内部提供了相关的工具来重新分布某个 topic 的分区。

3、kafka 集群搭建:

3.1 拷贝三份 kafka_2.12-2.8.0 分别命名为:kafka-01, kafka-02, kafka-03

# 切换目录
cd /usr/local/kafka/

# 拷贝三份 kafka_2.12-2.8.0 分别命名为:kafka-01, kafka-02, kafka-03
cp -rf kafka_2.12-2.8.0 ./kafka-01 
cp -rf kafka_2.12-2.8.0 ./kafka-02
cp -rf kafka_2.12-2.8.0 ./kafka-03

3.2 修改 kafka-01 的配置文件 kafka/kafka-01/config/server.properties

broker.id=0, log.dirs=/usr/local/kafka/kafka-01/logs, port=9092


# 切换目录
cd /usr/local/kafka/

# 修改 kafka-01 的配置文件 kafka-01/config/server.properties
vim kafka-01/config/server.properties

# 修改以下几个配置:

broker.id=0 
log.dirs=/usr/local/kafka/kafka-01/logs 
# listeners=PLAINTEXT://localhost:9092
# host.name=localhost
# port=9092

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
listeners=PLAINTEXT://172.18.30.110:9092
3.3 修改 kafka-02 的配置文件 kafka/kafka-02/config/server.properties

broker.id=1, log.dirs=/usr/local/kafka/kafka-02/logs, port=9093


# 切换目录
cd /usr/local/kafka/

# 修改 kafka-02 的配置文件 kafka-02/config/server.properties
vim kafka-02/config/server.properties

# 修改以下几个配置:

broker.id=1 
log.dirs=/usr/local/kafka/kafka-02/logs 
# listeners=PLAINTEXT://localhost:9093
# host.name=localhost
# port=9093

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
listeners=PLAINTEXT://172.18.30.110:9093
3.4 修改 kafka-03 的配置文件 kafka/kafka-03/config/server.properties

broker.id=2, log.dirs=/usr/local/kafka/kafka-03/logs, port=9094


# 切换目录
cd /usr/local/kafka/

# 修改 kafka-03 的配置文件 kafka-03/config/server.properties
vim kafka-03/config/server.properties

# 修改以下几个配置:

broker.id=2 
log.dirs=/usr/local/kafka/kafka-03/logs 
# listeners=PLAINTEXT://localhost:9094
# host.name=localhost
# port=9094

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
listeners=PLAINTEXT://172.18.30.110:9094

3.5 删除 kafka 三个节点 kafka-01, kafka-02, kafka-03 以前的日志文件。

删除命令:rm -rf logs/*


# 切换目录
cd /usr/local/kafka/

# 删除 节点1:kafka-01 以前的日志文件
rm -rf kafka-01/logs/* 

# 删除 节点2:kafka-02 以前的日志文件
rm -rf kafka-02/logs/* 

# 删除 节点3:kafka-03 以前的日志文件
rm -rf kafka-03/logs/* 

3.6 启动 kafka 三个节点 kafka-01, kafka-02, kafka-03

启动命令:bin/kafka-server-start.sh config/server.properties


# 切换目录
cd /usr/local/kafka/

# 启动 节点1:kafka-01
kafka-01/bin/kafka-server-start.sh kafka-01/config/server.properties

# 启动 节点2:kafka-02 
kafka-02/bin/kafka-server-start.sh kafka-02/config/server.properties

# 启动 节点3:kafka-03 
kafka-03/bin/kafka-server-start.sh kafka-03/config/server.properties

四、kafka 分区重新分配 002

1、Kafka 创建一个有3个节点的集群(3个分区,3个副本)

创建命令:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic heima-par --partitions 3 --replication-factor 3


# 切换目录
cd /usr/local/kafka/

# 创建集群
kafka-01/bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic heima-par --partitions 3 --replication-factor 3

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-topics.sh --create --zookeeper 172.18.30.110:2181 --topic heima-par --partitions 3 --replication-factor 3

# 查看新创建的主题 heima-par 的详细信息
kafka-01/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic heima-par

在这里插入图片描述

2、为新创建的主题 heima-par 添加一个分区

添加分区命令:
bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic heima-par --partitions 4


# 切换目录
cd /usr/local/kafka/

# 创建集群
kafka-01/bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic heima-par --partitions 4

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-topics.sh --alter --zookeeper 172.18.30.110:2181 --topic heima-par --partitions 4

# 查看新创建的主题 heima-par 的详细信息
kafka-01/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic heima-par

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-topics.sh --describe --zookeeper 172.18.30.110:2181 --topic heima-par

在这里插入图片描述

3、添加一个 brokder 节点

添加 brokder 节点 命令:
cp -rf kafka-01 ./kafka-04


# 切换目录
cd /usr/local/kafka/

# 添加 brokder 节点
cp -rf kafka-01 ./kafka-04

在这里插入图片描述

4、修改 节点 kafka-04 的配置文件 kafka/kafka-04/config/server.properties

broker.id=3, log.dirs=/usr/local/kafka/kafka-04/logs, port=9095


# 切换目录
cd /usr/local/kafka/

# 修改 kafka-04 的配置文件 kafka-04/config/server.properties
vim kafka-04/config/server.properties

# 修改以下几个配置:

broker.id=3 
log.dirs=/usr/local/kafka/kafka-04/logs 
# listeners=PLAINTEXT://localhost:9095
# host.name=localhost
# port=9095

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
listeners=PLAINTEXT://172.18.30.110:9095

在这里插入图片描述

5、删除 kafka 4个节点 kafka-01, kafka-02, kafka-03, kafka-04 以前的日志文件。

删除命令:rm -rf logs/*


# 切换目录
cd /usr/local/kafka/

# 删除 节点1:kafka-01 以前的日志文件
rm -rf kafka-01/logs/* 

# 删除 节点2:kafka-02 以前的日志文件
rm -rf kafka-02/logs/* 

# 删除 节点3:kafka-03 以前的日志文件
rm -rf kafka-03/logs/* 

# 删除 节点4:kafka-04 以前的日志文件
rm -rf kafka-04/logs/* 

6 启动 kafka 4个节点 kafka-01, kafka-02, kafka-03, kafka-04

启动命令:bin/kafka-server-start.sh config/server.properties


# 切换目录
cd /usr/local/kafka/

# 启动 节点1:kafka-01
kafka-01/bin/kafka-server-start.sh kafka-01/config/server.properties

# 启动 节点2:kafka-02 
kafka-02/bin/kafka-server-start.sh kafka-02/config/server.properties

# 启动 节点3:kafka-03 
kafka-03/bin/kafka-server-start.sh kafka-03/config/server.properties

# 启动 节点4:kafka-04 
kafka-04/bin/kafka-server-start.sh kafka-04/config/server.properties

7、再次查看新创建的主题 heima-par 的详细信息,发现输出信息中新添加的节点4并没有分配之前主题的分区。


# 切换目录
cd /usr/local/kafka/

# 查看新创建的主题 heima-par 的详细信息
kafka-01/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic heima-par

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-topics.sh --describe --zookeeper 172.18.30.110:2181 --topic heima-par

在这里插入图片描述

五、kafka 分区重新分配 003

将原先分布在 broker 1-3 节点上的分区重新分布到 broker 1-4 节点上,需要借助 kafka-reassign-partitions.sh 工具生成 reassign plan ,

1、定义一个 reassign.json 文件,说明哪些 topic 需要重新分区,文件内容如下:


# 切换目录
cd /usr/local/kafka/

# 定义一个 reassign.json 文件
vim kafka-01/reassign.json

# 文件内容如下

{"topics":[{"topic":"heima-par"}],
"version":1
}

2、使用 kafka-reassign-partitions.sh 工具生成 reassign plan

命令:
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file reassign.json --broker-list “0,1,2,3” --generate

命令参数说明:
-generate :表示指定类型参数。
–topics-to-move-json-file : 指定分区重份配对应的主题清单路径。


# 切换目录
cd /usr/local/kafka/

# 使用 kafka-reassign-partitions.sh 工具生成 reassign plan
kafka-01/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --topics-to-move-json-file kafka-01/reassign.json --broker-list "0,1,2,3" --generate

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-reassign-partitions.sh --zookeeper 172.18.30.110:2181 --topics-to-move-json-file kafka-01/reassign.json --broker-list "0,1,2,3" --generate

# 执行完命令会生成2个字符串。
Current partition replica assignment
{"version":1,"partitions":[{"topic":"heima-par","partition":0,"replicas":[0,2,1],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":1,"replicas":[1,0,2],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":2,"replicas":[2,1,0],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":3,"replicas":[0,2,1],"log_dirs":["any","any","any"]}]}

Proposed partition reassignment configuration
{"version":1,"partitions":[{"topic":"heima-par","partition":0,"replicas":[3,1,2],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":1,"replicas":[0,2,3],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":2,"replicas":[1,3,0],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":3,"replicas":[2,0,1],"log_dirs":["any","any","any"]}]}

在这里插入图片描述

3、重新分配 JSON 文件,创建 result.json 文件,保存 JSON 内容。

注意:第二步命令输出两个 json 字符串,第一个 JSON 内容为当前的分区副本分配情况,第二个为重新分配的候选方案,注意这里只是生成一份可行性的方案,并没有真正执行重分配的动作。

我们将第二个 JSON 内容保存到名为 result.json 文件里面(文件名不重要,文件格式也不一定要以json为结尾,只要保证内容是 json 即可),然后执行这些 reassign plan:

# 切换目录
cd /usr/local/kafka/

# 创建并编辑 result.json 文件。
vim kafka-01/result.json

## 粘贴以下内容:

{"version":1,"partitions":[{"topic":"heima-par","partition":0,"replicas":[3,1,2],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":1,"replicas":[0,2,3],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":2,"replicas":[1,3,0],"log_dirs":["any","any","any"]},{"topic":"heima-par","partition":3,"replicas":[2,0,1],"log_dirs":["any","any","any"]}]}

4、执行分配策略,并查看执行进度。

命令:
bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file result.json --execute

命令参数说明:
–execute :执行命令。
–reassignment-json-file : 指定分区重分配 json 文件。


# 切换目录
cd /usr/local/kafka/

# 使用 kafka-reassign-partitions.sh 工具生成 reassign plan
kafka-01/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file kafka-01/result.json --execute

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-reassign-partitions.sh --zookeeper 172.18.30.110:2181 --reassignment-json-file kafka-01/result.json --execute

# 查看执行进度
kafka-01/bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-json-file kafka-01/result.json --verify

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-reassign-partitions.sh --zookeeper 172.18.30.110:2181 --reassignment-json-file kafka-01/result.json --verify

# 查看新创建的主题 heima-par 的详细信息
kafka-01/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic heima-par

# 或者把 localhost 换成 填写你的 虚拟机 IP 地址(如:172.18.30.110):
kafka-01/bin/kafka-topics.sh --describe --zookeeper 172.18.30.110:2181 --topic heima-par

在这里插入图片描述

六、kafka 分区分配策略

1、### 1、按照 Kafka 默认的消费逻辑设定,一个分区只能被同一个消费组 (ConsumerGroup) 内的一个消费者消费。假设目前某消费组内只有一个消费者 C0,订阅了一个 topic,这个 topic 包含 7 个分区,也就是说这个消费者 C0 订阅了 7 个分区,参考下图1

2、此时消费组内又加入了一个新的消费者 C1,按照既定的逻辑需要将原来消费者 C0 的部分分区分配给消费者 C1 消费,情形如图(2),消费者 C0 和 C1 各自负责消费所分配到的分区,相互之间并无实质性的干扰。

kafka分区分配策略1.png

3、RangeAssignor 策略的原理

RangeAssignor 策略的原理是按照消费者总数和分区总数进行整除运算来获得一个跨度,然后将分区按照跨度进行平均分配,以保证分区尽可能均匀地分配给所有的消费者。对于每一个 topic,RangeAssignor 策略会将消费组内所有订阅这个 topic 的消费者按照名称的字典序排序,然后为每个消费者划分固定的分区范围,如果不够平均分配,那么字典序靠前的消费者会被多分配一个分区。

4、RoundRobinAssignor 策略的原理

RoundRobinAssignor 策略的原理是将消费组内所有消费者以及消费者所订阅的所有 topic 的 partition 按照字典序排序,然后通过轮询方式逐个将分区以此分配给每个消费者。RoundRobinAssignor 策略对应的 partition.assignment.strategy 参数值为: org.apache.kafka.clients.consumer.RoundRobinAssignor。

上一节关联链接请点击

# Kafka_深入探秘者(4):kafka 主题 topic

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

边缘混合计算智慧矿山视频智能综合管理方案:矿山安全生产智能转型升级之路

一、智慧矿山方案介绍 智慧矿山是以矿山数字化、信息化为前提和基础,通过物联网、人工智能等技术进行主动感知、自动分析、快速处理,实现安全矿山、高效矿山的矿山智能化建设。旭帆科技TSINGSEE青犀基于图像的前端计算、边缘计算技术,结合煤…

u盘插到另一台电脑上数据丢失怎么办?提供实用的解决方案

在现代数字化生活中,U盘作为一种便携式存储设备,承载着我们重要的数据和信息。然而,有时当我们将U盘插入另一台电脑时,可能会遇到数据丢失的棘手问题。这可能是由于多种原因造成的,那么,U盘插到另一台电脑上…

使用隐式事件执行控制图

什么是隐式事件? 隐式事件是图表执行时发生的内置事件: 图表唤醒 进入一个状态 退出状态 分配给内部数据对象的值 这些事件是隐式的,因为您没有显式地定义或触发它们。隐式事件是它们发生的图表的子级,仅在父图表中可见。 隐式事…

png格式快速压缩该怎么做?在电脑压缩png图片的方法

png格式的图片如何快速压缩变小呢?现在网络的不断发展,图片是日常用来分享展示内容的一种常用手段,其中使用最多的一种图片格式就是png,png格式具有无损压缩支持透明底的特性,在很多的场景下都会使用。 现在图片的清晰…

笔记-python reduce 函数

reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块。 官方文档是这样介绍的 reduce(...) reduce(function, sequence[, initial]) -> valueApply a function of two arguments cumulatively to the items of a sequence, from left …

健身房管理系统

摘 要 随着人们健康意识的增强,健身房作为一种提供健身服务的场所,受到越来越多人的关注和喜爱。然而,传统的健身房管理方式存在诸多问题,如信息管理不便捷、会员管理不规范等。为了解决这些问题,本文设计并实现了一款…

分享一套基于SSM的九宫格日志网站(源码+文档+部署)

大家好,今天给大家分享一套基于SSM的九宫格日志网站 开发语言:Java 数据库:MySQL 技术:SpringSpringMvcMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 博主介绍: 一名Java全栈工程师,专注于Java全…

AI大模型日报#0626:首款大模型芯片挑战英伟达、面壁智能李大海专访、大模型测试题爆火LeCun点赞

导读:AI大模型日报,爬虫LLM自动生成,一文览尽每日AI大模型要点资讯!目前采用“文心一言”(ERNIE-4.0-8K-latest)生成了今日要点以及每条资讯的摘要。欢迎阅读!《AI大模型日报》今日要点&#xf…

vue elementui简易侧拉栏的使用

如图所示&#xff0c;增加了侧拉栏&#xff0c;目的是可以选择多条数据展示数据 组件&#xff1a; celadon.vue <template><div class"LayoutMain"><el-aside :width"sidebarIsCollapse ? 180px : 0px" class"aside-wrap">…

MD5加密接口

签名算法 app_key和app_secret由对方系统提供 MD5_CALCULATE_HASH_FOR_CHAR&#xff08;中文加密与JAVA不一致&#xff09; 代码&#xff1a; *获取传输字段名的ASCII码&#xff0c;根据ASCII码对字段名进行排序SELECT * FROM zthr0051WHERE functionid iv_functionidINTO …

AI音乐大模型:深度剖析创意与产业的双重变革

随着AI技术的飞速发展&#xff0c;音乐大模型在最近一个月内纷纷上线&#xff0c;这一变革性技术不仅颠覆了传统的音乐创作方式&#xff0c;更是对整个音乐产业及创意产业带来了深远的影响。本文将从多个维度出发&#xff0c;深度剖析AI音乐大模型对创意与产业的双重变革。 一、…

多模态能力评估新篇章:MMStar引领大型视觉语言模型评估新标准

随着大模型&#xff08;LLMs&#xff09;的快速发展&#xff0c;将视觉模态整合进LLMs以提升模型的交互能力已成为研究的热点。这些大型视觉语言模型&#xff08;LVLMs&#xff09;不仅展现出强大的视觉感知和理解能力&#xff0c;还能够通过对话与用户互动&#xff0c;提供更丰…

Matlab|【免费】含氢气氨气综合能源系统优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型&#xff0c;对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析&#xff0c;以火电机组启停成本、煤耗…

尚硅谷vue2的todolist案例解析,基本概括了vue2所有知识点,结尾有具体代码,复制粘贴学习即可

脚手架搭建 1-初始化脚手架&#xff08;全局安装&#xff09; npm install -g vue/cli2-切换到创建项目的空目录下 vue create xxxx整体结构 整体思路 App定义所有回调方法 增删改查 还有统一存放最终数据&#xff0c;所有子组件不拿数据&#xff0c;由App下发数据&#xf…

Spring Boot 集成 H2 数据库

1. 引言 Spring Boot 以其简洁的配置和快速开发能力&#xff0c;成为现代微服务架构的首选框架之一。而H2数据库作为一个轻量级的内存数据库&#xff0c;非常适合开发阶段作为嵌入式数据库进行单元测试和功能验证。本文将手把手教你如何在Spring Boot项目中集成H2数据库&#…

Mybatis 到 MyBatisPlus

Mybatis 到 MyBatisPlus Mybatis MyBatis&#xff08;官网&#xff1a;https://mybatis.org/mybatis-3/zh/index.html &#xff09;是一款优秀的 持久层 &#xff08;ORM&#xff09;框架&#xff0c;用于简化JDBC的开发。是 Apache的一个开源项目iBatis&#xff0c;2010年这…

DC/AC电源模块一种效率与可靠性兼备的能源转换解决方案

DC/AC电源模块都是一种效率与可靠性兼备的能源转换解决方案 DC/AC电源模块是一种能够将直流电源&#xff08;DC&#xff09;转换为交流电源&#xff08;AC&#xff09;的设备。它在现代电子设备中扮演着非常重要的角色&#xff0c;因为许多设备需要交流电源才能正常运行。无论…

VS Code修改菜单栏字体大小

修改方法 打开VS Code&#xff0c;快捷键 CtrlShiftP&#xff0c;在弹出的输入框中输入 setting&#xff0c;找到带有JSON的一项&#xff0c;如图所示&#xff1a; 原文链接 window.zoomLevel 前后变化 终端字体大小 File -> Preferences -> Settings -> Features…

云计算运维工程师的突发状况处理

云计算运维工程师在应对突发的故障和紧急情况时,需要采取一系列迅速而有效的措施来最小化服务中断的时间并恢复系统的稳定性。 以下是一些关键步骤和策略: 快速响应: 立即识别并确认故障的性质和范围。通知团队成员和相关的利益相关者,确保所有人了解当前情况。故障诊断:…

迅为iTOP-2K1000开发板龙芯中科国产64位Loognix主板

硬件配置 国产龙芯处理器&#xff0c;双核64位系统&#xff0c;板载2G DDR3内存&#xff0c;流畅运行Busybox、Buildroot、Loognix、QT5.12 系统! 接口全板载4路USB HOST、2路千兆以太网、2路UART、2路CAN总线、Mini PCIE、SATA固态盘接口、4G接口、GPS接口WIF1、蓝牙、Mini H…