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

如何在不同版本的 Elasticsearch 之间以及集群之间迁移数据

作者:来自 Elastic Kofi Bartlett

当你想要升级一个 Elasticsearch 集群时,有时候创建一个新的独立集群并将数据从旧集群迁移到新集群会更容易一些。这让用户能够在不冒任何停机或数据丢失风险的情况下,在新集群上使用所有应用程序测试其所有数据和配置。

这种方法的缺点是需要一些硬件的重复配置,并且在尝试平稳地传输和同步所有数据时可能会带来困难。

如果你需要将应用程序从一个数据中心迁移到另一个数据中心,也可能需要执行类似的操作。

在本文中,我们将讨论并详细介绍三种在 Elasticsearch 集群之间传输数据的方法。

如何在 Elasticsearch 集群之间迁移数据?

有三种方式可以在 Elasticsearch 集群之间传输数据:

  • 从远程集群重新索引

  • 使用快照传输数据

  • 使用 Logstash 传输数据

使用快照通常是最快且最可靠的数据传输方式。然而,请记住,你只能将快照恢复到相同版本或更高版本的集群,且版本差异不能超过一个主版本。这意味着你可以将一个 6.x 的快照恢复到 7.x 的集群,但不能恢复到 8.x 的集群。

如果你需要升级超过一个主版本,你将需要重新索引或使用 Logstash。

现在,让我们详细了解在 Elasticsearch 集群之间传输数据的三种选项。

1. 从远程集群重新索引数据

在开始重新索引之前,请记住你需要为新集群上的所有索引设置合适的映射。为此,你必须直接使用合适的映射创建索引,或使用索引模板。

从远程重新索引 — 所需配置

为了从远程集群重新索引,你需要在接收数据的集群中将以下配置添加到 elasticsearch.yml 文件中,该文件在 Linux 系统中通常位于:
/etc/elasticsearch/elasticsearch.yml。需要添加的配置如下:

reindex.remote.whitelist: "192.168.1.11:9200"

如果你正在使用 SSL,你应该将 CA 证书添加到每个节点,并在每个节点的 elasticsearch.yml 中加入以下命令:

reindex.ssl.certificate_authorities: “/path/to/ca.pem”

或者,你也可以在所有 Elasticsearch 节点中添加以下这一行,以禁用 SSL 验证。不过,这种方式不太推荐,因为它相比前一种方式安全性较低:

reindex.remote.whitelist: "192.168.1.11:9200"
reindex.ssl.verification_mode: none
systemctl restart elasticsearch service 

你需要在每个节点上进行这些修改,并执行滚动重启。有关如何进行的更多信息,请参阅我们的指南。

重新索引命令

在你已经在 elasticsearch.yml 文件中定义了远程主机并在需要时添加了 SSL 证书之后,你可以使用以下命令开始重新索引数据:

POST _reindex
{"source": {"remote": {"host": "http://192.168.1.11:9200","username": "elastic","password": "123456","socket_timeout": "1m","connect_timeout": "1m"},"index": "companydatabase"},"dest": {"index": "my-new-index-000001"}
}

在执行此操作时,你可能会遇到超时错误,因此,设置较大的超时时间值可能会比依赖默认值更为有用。

现在,让我们看看在从远程重新索引时你可能遇到的一些常见错误。

从远程重新索引时的常见错误

1. 重新索引未被列入白名单

{"error": {"root_cause": [{"type": "illegal_argument_exception","reason": "[192.168.1.11:9200] not whitelisted in reindex.remote.whitelist"}],"type": "illegal_argument_exception","reason": "[192.168.1.11:9200] not whitelisted in reindex.remote.whitelist"},"status": 400
}

如果你遇到这个错误,说明你没有像上面所述那样在 Elasticsearch 中定义远程主机的 IP 地址或节点名称的 DNS,或者忘记重启 Elasticsearch 服务。

为了解决这个问题,你需要将远程主机添加到所有 Elasticsearch 节点中,并重启 Elasticsearch 服务。

2. SSL 握手异常

{"error": {"root_cause": [{"type": "s_s_l_handshake_exception","reason": "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target"}],"type": "s_s_l_handshake_exception","reason": "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target","caused_by": {"type": "validator_exception","reason": "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target","caused_by": {"type": "sun_cert_path_builder_exception","reason": "unable to find valid certification path to requested target"}}},"status": 500
}

这个错误意味着你忘记在 elasticsearch.yml 中添加 reindex.ssl.certificate_authorities,如上所述。要解决此问题,请添加以下内容:

#elasticsearch.yml
reindex.ssl.certificate_authorities: "/path/to/ca.pem"

2. 使用快照传输数据

记住,如上所述,你只能将快照恢复到相同版本或更高版本的集群,且版本差异不能超过一个主版本。

如果你需要升级超过一个主版本,你将需要重新索引或使用 Logstash。

通过快照传输数据的步骤如下:

步骤 1. 将 repository 插件添加到第一个 Elasticsearch 集群 — 为了通过快照在集群之间传输数据,你需要确保 repository 可以从新集群和旧集群都能访问。像 AWS、Google 和 Azure 这样的云存储仓库通常是理想的选择。要创建快照,请参阅我们的指南并按照其中描述的步骤操作。

步骤 2. 重启 Elasticsearch 服务(滚动重启)。

步骤 3. 为第一个 Elasticsearch 集群创建 repository。

步骤 4. 将 repository 插件添加到第二个 Elasticsearch 集群。

步骤 5. 将 repository 设置为只读模式并添加到第二个 Elasticsearch 集群 — 你需要通过重复创建第一个 Elasticsearch 集群时采取的相同步骤来添加 repository。

重要提示: 当将第二个 Elasticsearch 集群连接到相同的 AWS S3 仓库时,你应该将该仓库定义为只读仓库:

PUT _snapshot/my_s3_repository
{"type": "s3","settings": {"bucket": "my-analytic-data","endpoint": "s3.eu-de.cloud-object-storage.appdomain.cloud","readonly": "true"}
}

这很重要,因为你需要防止在同一个快照仓库中混合不同版本的 Elasticsearch。

步骤 6. 将数据恢复到第二个 Elasticsearch 集群 — 在完成上述步骤后,你可以恢复数据并将其传输到新集群。请按照本文中描述的步骤将数据恢复到新集群。

3. 使用 Logstash 传输数据

在开始使用 Logstash 传输数据之前,请记住你需要为新集群上的所有索引设置合适的映射。为此,你需要直接创建索引或使用索引模板。

为了在两个 Elasticsearch 集群之间传输数据,你可以设置一个临时的 Logstash 服务器,并使用它在两个集群之间传输数据。对于小型集群,2GB 内存的实例应该足够。对于较大的集群,你可以使用四核 CPU 和 8GB 内存的实例。

有关安装 Logstash 的指导,请参阅此处。

从一个集群到另一个集群的 Logstash 配置

一个基本的配置,复制单个索引从集群 A 到集群 B,如下所示:

iinput
{
elasticsearch{hosts => ["192.168.1.11:9200"]index => "index_name"docinfo => true      }
}output 
{elasticsearch {hosts => "https://192.168.1.12:9200"index => "index_name"}
}

对于安全的 Elasticsearch,你可以使用以下配置:

input
{elasticsearch{hosts => ["192.168.1.11:9200"]index => "index_name"docinfo => true user => "elastic"password => "elastic_password"ssl => truessl_certificate_verification => false}
}output 
{elasticsearch {hosts => "https://192.168.1.12:9200"index => "index_name"user => "elastic"password => "elastic_password"ssl => truessl_certificate_verification => false}
}

索引元数据

上述命令将写入一个单独命名的索引。如果你想要传输多个索引并保留索引名称,则需要在 Logstash 输出中添加以下行:

index => "%{[@metadata][_index]}"

如果你还想保留文档的原始 ID,那么你需要添加:

document_id => "%{[@metadata][_id]}"

请记住,设置文档 ID 会使数据传输显著变慢,因此只有在需要时才保留原始 ID。

更新同步

上述所有方法都会花费相对较长的时间,你可能会发现,在等待过程完成的过程中,原始集群中的数据已经被更新。

有多种策略可以使在数据传输过程中发生的任何更新得以同步,在开始此过程之前,你应该考虑这些问题。特别是,你需要考虑以下问题:

  • 你有什么方法来识别自数据传输过程开始以来已更新/添加的数据(例如,数据中的 “last_update_time” 字段)?

  • 你可以使用什么方法来传输最后一部分数据?

  • 是否存在记录重复的风险?通常是有的,除非你使用的方法在重新索引时将文档 ID 设置为已知值。

下面描述了不同的方法来启用更新的同步。

  1. 使用队列系统
    一些摄取/更新系统使用队列,使你能够 “重放” 在过去 x 天内接收到的数据修改。这可能提供一种同步所有更改的方法。

  2. 从远程重新索引
    对所有 “last_update_time” > x 天前的项目重复重新索引过程。你可以通过在重新索引请求中添加 “query” 参数来实现这一点。

  3. Logstash
    在 Logstash 输入中,你可以添加一个查询来过滤所有 “last_update_time” > x 天前的项目。然而,除非你设置了 document_id,否则这个过程会导致非时间序列数据的重复。

  4. 快照
    无法仅恢复部分索引,因此你必须使用上述其他数据传输方法之一(或脚本)来更新数据传输过程执行以来的任何更改。

然而,快照恢复比重新索引/Logstash 过程要快得多,因此可以在快照传输期间暂停更新,短时间内避免问题的发生。

想要获得 Elastic 认证吗?了解下一期 Elasticsearch 工程师培训的时间!

Elasticsearch 拥有众多新功能,帮助你为你的用例构建最佳搜索解决方案。深入了解我们的示例笔记本,开始免费的云试用,或者现在就尝试在本地机器上使用 Elastic。

原文:How to migrate data between different versions of Elasticsearch & between clusters - Elasticsearch Labs

相关文章:

如何在不同版本的 Elasticsearch 之间以及集群之间迁移数据

作者:来自 Elastic Kofi Bartlett 当你想要升级一个 Elasticsearch 集群时,有时候创建一个新的独立集群并将数据从旧集群迁移到新集群会更容易一些。这让用户能够在不冒任何停机或数据丢失风险的情况下,在新集群上使用所有应用程序测试其所有…...

MySQL数据库精研之旅第六期:玩转数据库约束

目录 一、数据库约束的概念 二、约束类型 三、NOT NULL 非空约束 四、DEFAULT 默认值约束 五、UNIQUE 唯一约束 六、PRIMARY KEY 主键约束 七、FOREIGN KEY 外键约束 八、Check 约束 一、数据库约束的概念 数据库约束是指对数据库表中的数据所施加的规则或条件&#xf…...

【Java】面向对象程序三板斧——如何优雅设计包、封装数据与优化代码块?

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:【Java】内容概括 【前言】 在Java编程中,类和对象是面向对象编程的核心概念。而包(Package&am…...

MCP、RAG与Agent:下一代智能系统的协同架构设计

一、智能系统架构的范式转移 1.1 传统架构的局限性 架构类型典型问题新架构需求单体架构扩展性差,维护成本高模块化解耦简单微服务缺乏智能决策能力认知能力嵌入纯LLM系统事实性错误,知识固化动态知识增强 1.2 三大核心组件的定位 #mermaid-svg-6tGuE…...

软件设计师2009-2022历年真题与答案解析(附pdf下载)

软考在即,现在给大家分享一下软件设计师2009-2022真题与答案解析 pdf全套,文末提供大家免费下载,大家都知道在软考备考过程中,拥有一套全面且实用的考试资料对于考生来说至关重要。目录如下: 历年真题及详解2004-2019 …...

前端 React 弹窗式 滑动验证码实现

目录 一、安装依赖 1、rc-slider-captcha 2、create-puzzle 二、个人封装好的组件拿去用 三、效果展示 一、安装依赖 这里需要引入两个依赖,若有后端图片接入,可以不引入第二个依赖 1、rc-slider-captcha 滑动验证码生成的库 国内网&#xff1a…...

【触想智能】工业触摸一体机在金融智能设备领域上应用的优势

工业触摸一体机在金融智能设备领域上具有许多独特的优势。这些设备结合了工业级的强度和耐用性,以及先进的触控技术和高性能处理能力,为金融机构提供全面可靠的解决方案。下面将介绍工业触摸一体机在金融智能设备领域上的应用优势。 触想嵌入式工业触摸一…...

本地实现Rtsp视频流推送

简言:使用ffmpeg实现本地视频流推送 srs存储(延时推送) 准备工作 安装包: ffmpeg:http://ffmpeg.org/download.html EasyDarwin:EasyDarwin流媒体音视频资源汇总 srs安装教程地址:http://…...

人工智能中的卷积神经网络(CNN)综述

文章目录 前言 1. CNN的基本原理 1.1 卷积层 1.2 池化层 1.3 全连接层 2. CNN的发展历程 2.1 LeNet-5 2.2 AlexNet 2.3 VGGNet 2.4 ResNet 3. CNN的主要应用 3.1 图像分类 3.2 目标检测 3.3 语义分割 3.4 自然语言处理 4. 未来研究方向 4.1 模型压缩与加速 4.2 自监督学习 4.3 …...

Mac电脑交叉编译iphone设备可以运行的redsocks, openssl, libsevent

准备:intel x86_64芯片的mac电脑,系统为mac os15.3.1,iphone为6s的ios14.4(rootful越狱) 第一步:准备工具链(推荐使用 theos clang) 如果你已经安装过 Theos(或 NewTheos)&#x…...

入门51单片机(1)-----点灯大师梦开始的地方

前言 这一次的博客主要是要记录一下学习的记录的,方便以后去复习一下的,当然这篇博客还是针于零基础的伙伴萌,看完这篇博客,大家就可以学会点灯了。 安装软件 方法一下一下来教!!萌新宝贝萌可以学会的!帮…...

[1-01-09].第08节:基础语法 - 数组常见算法 + Arrays工具类 + 数组中常见异常

一、 数组的常见算法 1.1 数值型数组特征值统计 这里的特征值涉及到:平均值、最大值、最小值、总和等 **举例1:**数组统计:求总和、均值 public class TestArrayElementSum {public static void main(String[] args) {int[] arr {4,5,6,…...

dnf install openssl失败的原因和解决办法

网上有很多编译OpenSSL源码(3.x版本)为RPM包的文章,这些文章在安装RPM包时都是执行rpm -ivh openssl-xxx.rpm --nodeps --force 这个命令能在缺少依赖包的情况下能强行执行安装 其实根据Centos的文档,安装RPM包一般是执行yum install或dnf install。后者…...

UE5 Chaos :官方文献总结 + 渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?

官方文献:https://dev.epicgames.com/community/learning/tutorials/pv7x/unreal-engine-panel-cloth-editor 1. 流程概述 本文档介绍了如何通过面板编辑器(Panel Editor)在Unreal Engine中生成基于面板的布料资源。流程主要包含从Marvelou…...

Swift观察机制新突破:如何用AsyncSequence实现原子化数据监听?

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...

Lombok库

文章目录 Lombok1.介绍2.主要注解2.1如何使用 Lombok2.1.1添加依赖2.1.2 使用Lombok注解2.1.3Lombok的其他常用注解ValueBuilderGoF23种设计模式之一:建造模式使用Builder注解自动生成建造模式的代码 SingularSlf4j使用选择合适的注解 Lombok 1.介绍 Lombok 是一个…...

算法思想之模拟

欢迎拜访:雾里看山-CSDN博客 本篇主题:算法思想之模拟 发布时间:2025.4.14 隶属专栏:算法 目录 滑动窗口算法介绍核心特点常见问题优化方向 例题替换所有的问号题目链接题目描述算法思路代码实现 提莫攻击题目链接题目描述算法思路…...

Windows 系统如何使用Redis 服务

前言 在学习过程中,我们长期接触到的是Mysql 关系型数据库,也是够我们平时练习项目用的,但是后面肯定会有大型数据的访问就要借助新的新的工具。 一、什么是Redis Redis(Remote Dictionary Server)是一个基于内存的 键…...

2025年常见渗透测试面试题-红队面试宝典上(题目+回答)

网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 一、如何判断是否是域环境? 二、定位域控的 IP 三、定位域管所在机器 四、Kerberos 核心…...

Base64在线编码解码 - 加菲工具

Base64在线编码解码 - 加菲工具 打开网站 加菲工具 选择“Base64 在线编码解码” 或者直接打开https://www.orcc.top/tools/base64 输入需要编码/解码的内容,点击“编码”/“解码”按钮 编码: 解码: 复制已经编码/解码后的内容。...

前端面试宝典---闭包

闭包介绍 使用闭包: 在函数内声明一个变量,避免外部访问在该函数内再声明一个函数访问上述变量(闭包)返回函数内部的函数使用完毕建议闭包函数null;译放内存 function createCounter() {let count 0;return function () {coun…...

算法:有一个整数数组,长度为n。她希望通过一系列操作将数组变成一个回文数组。

小红有一个整数数组,长度为n。她希望通过一系列操作将数组变成一个回文数组。每次操作可以选择数组中任意两个相邻的元素 ai和 ai1,将它们的值同时加一。请你计算至少需要多少次操作使得数组变成一个回文数组。如果不可能,则输出-1。否则输出…...

数字人:开启医疗领域的智慧变革新时代(5/10)

摘要:数字人技术作为医疗变革的基石,通过多学科融合实现虚拟医生、手术模拟、医学教育等多元应用,贯穿诊前、术中、术后全流程,显著提升医疗效率、优化资源分配、推动个性化服务。尽管面临技术、伦理、数据安全等挑战,…...

正则表达式在线校验(RegExp) - 加菲工具

正则表达式在线校验 - 加菲工具 打开网站 加菲工具 选择“正则表达式在线校验” 或者直接打开https://www.orcc.top/tools/regexp 输入待校验的源文本与正则表达式,点击“校验”按钮 需要注意检验后的内容可能存在多空格,可以拉下去看看~...

某车企面试备忘

记录两个关于Binder的问题,我感觉面试官提的非常好,作一下备忘。 1.通过Binder进行的IPC(进程间通信)是线程阻塞的吗? 参考答案: Binder是Android平台的一种跨进程通信(IPC)机制&…...

从Ampere到Hopper:GPU架构演进对AI模型训练的颠覆性影响

一、GPU架构演进的底层逻辑 AI大模型训练效率的提升始终与GPU架构的迭代深度绑定。从Ampere到Hopper的演进路径中,英伟达通过‌张量核心升级‌、‌显存架构优化‌、‌计算范式革新‌三大技术路线,将LLM(大语言模型)训练效率提升至…...

【JavaEE】SpringBoot 统一功能处理

目录 一、拦截器1.1 使用1.1 定义拦截器1.2 注册配置拦截器 1.2 拦截器详解1.2.1 拦截路径1.2.2 拦截器执⾏流程 1.3 适配器模式 二、统一数据返回格式2.1 简单用法2.2 问题及解决 三、统一异常处理 一、拦截器 拦截器:拦截器是Spring框架提供的核⼼功能之⼀&#…...

杨辉三角(力扣 118)

118. 杨辉三角 - 力扣&#xff08;LeetCode&#xff09; 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2: 输入: numRows 1 输出: [[1]] vector<vector<int>> generate(int numRows) { //生成有numRows个元素(vector<in…...

三周年创作纪念日

文章目录 回顾与收获三年收获的五个维度未来的展望致谢与呼唤 亲爱的社区朋友们&#xff0c;大家好&#xff01; 今天是 2025 年 4 月 14 日&#xff0c;距离我在 2022 年 4 月 14 日发布第一篇技术博客《SonarQube 部署》整整 1,095 天。在这条创作之路上&#xff0c;我既感慨…...

[c语言日记]轮转数组算法(力扣189)

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…...

【Unity笔记】Unity超时检测器开发:支持自定义重试次数与事件触发

在Unity游戏或应用开发中&#xff0c;我们经常会遇到需要检测超时的场景&#xff0c;比如&#xff1a; 等待用户在限定时间内完成某个交互&#xff1b;等待网络请求或资源加载是否在规定时间内返回&#xff1b;控制AI角色等待某个事件发生&#xff0c;超时后执行备选逻辑。 在…...

【微服务管理】注册中心:分布式系统的基石

在分布式系统日益普及的当下&#xff0c;如何高效地管理众多服务实例成为关键问题。注册中心应运而生&#xff0c;它犹如分布式系统的 “指挥中枢”&#xff0c;承担着服务注册、发现等核心任务&#xff0c;为整个系统的稳定运行和高效协作提供坚实保障。本文将深入探讨注册中心…...

P10413 [蓝桥杯 2023 国 A] 圆上的连线

题意&#xff1a; 给定一个圆&#xff0c;圆上有 n2023 个点从 1 到 n 依次编号。 问有多少种不同的连线方式&#xff0c;使得完全没有连线相交。当两个方案连线的数量不同或任何一个点连接的点在另一个方案中编号不同时&#xff0c;两个方案视为不同。 答案可能很大&#x…...

计算机操作系统——存储器管理

系列文章目录 1.存储器的层次结构 2.程序的装入和链接 3.连续分配存储管理方式&#xff08;内存够用&#xff09; 4.对换&#xff08;Swapping&#xff09;(内存不够用) 5.分页存储管理方式 6.分段存储管理方式 文章目录 系列文章目录前言一、存储器的存储结构寄存器&…...

TCPIP详解 卷1协议 四 地址解析协议

4.1——地址解析协议(ARP) 对于TCP/IP网络&#xff0c;地址解析协议&#xff08;ARP&#xff09;[RFC0826]提供了一种在IPv4地址和各种网络技术使用的硬件地址之间的映射。ARP仅用于IPv4。IPv6使用邻居发现协议&#xff0c;它被合并入ICMPv6。当两个局域网的主机之间传输的以太…...

履带小车+六轴机械臂(2)

本次介绍原理图部分 开发板部分&#xff0c;电源供电部分&#xff0c;六路舵机&#xff0c;PS2手柄接收器&#xff0c;HC-05蓝牙模块&#xff0c;蜂鸣器&#xff0c;串口&#xff0c;TB6612电机驱动模块&#xff0c;LDO线性稳压电路&#xff0c;按键部分 1、开发板部分 需要注…...

耘想WinNAS:以聊天交互重构NAS生态,开启AI时代的存储革命

一、传统NAS的交互困境与范式瓶颈 在传统NAS&#xff08;网络附加存储&#xff09;领域&#xff0c;用户需通过复杂的图形界面或命令行工具完成文件管理、权限配置、数据检索等操作&#xff0c;学习成本高且效率低下。例如&#xff0c;用户若需搜索特定文件&#xff0c;需手动…...

如何通过自动化解决方案提升企业运营效率?

引言 在现代企业中&#xff0c;运营效率直接影响着企业的成本、速度与竞争力。尤其是随着科技的不断发展&#xff0c;传统手工操作和低效的流程逐渐无法满足企业的需求。自动化解决方案正成为企业提升运营效率、降低成本和提高生产力的关键。无论是大型跨国公司&#xff0c;还…...

【笔记ing】AI大模型-03深度学习基础理论

神经网络&#xff1a;A neural network is a network or circuit of neurons,or in a modern sense,an artificial neural network,composed of artificial neurons or nodes.神经网络是神经元的网络或回路&#xff0c;或者在现在意义上来说&#xff0c;是一个由人工神经元或节…...

Spring-注解编程

注解基础概念 1.什么是注解编程 指的是在类或者方法上加入特定的注解(XXX) 完成特定功能的开发 Component public classXXX{} 2.为什么要讲注解编程 1.注解开发方便 代码简洁 开发速度大大提高 2.Spring开发潮流 Spring2.x引入注解 Spring3.x完善注解 Springboot普及 推广注解…...

大数据学习栈记——MongoDB安装

本文介绍NoSQL技术&#xff1a;MongoDB的安装。操作系统&#xff1a;Ubuntu24.04 MongoDB介绍 MongoDB是一个基于分布式文件存储的数据库&#xff0c;由C语言编写&#xff0c;旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之…...

linux 系统编程基础部分 day1

常用指令 创建修改用户组 查看当前用户组&#xff1a;whoami 创建用户 sudo adduser 用户 sudo addgroup 组名 添加权限&#xff1a;chmod [u,g,o,a][x,w,r] 数字表示法r4 w2 x1 chmod 471 每个权限种类想加 给文件换所属用户 chown 新用户名 文件名 chgrp …...

访问不到服务器上启动的llamafactory-cli webui

采用SSH端口转发有效&#xff0c;在Windows上面进行访问 在服务器上启动 llamafactory-cli webui 后&#xff0c;访问方式需根据服务器类型和网络环境选择以下方案&#xff1a; 一、本地服务器&#xff08;物理机/虚拟机&#xff09; 1. 直接访问 若服务器与操作设备处于同一…...

论文阅读笔记——Generating Long Sequences with Sparse Transformers

Sparse Transformer 论文 解决了 Transformer 在长序列建模时的计算开销和内存过大的问题。 可视化了一个 128 层自注意力在 CIFAR-10 的数据集上学习到的注意力模式&#xff0c;发现&#xff1a;1&#xff09;稀疏性普遍存在&#xff1a;大多数层在多数数据点上表现出稀疏注意…...

【信息系统项目管理师】高分论文:论信息系统项目的整合管理(旅游景区导游管理平台)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文一、制定项目章程二、制订项目管理计划三、指导和管理项目工作四、管理项目知识五、监控项目工作六、实施整体变更控制七、结束项目或阶段论文 在国家《中国旅游“十三五”发展规划信息化专项规划的背景下…...

C++ 用红黑树封装map/set

前言 一、源码结构分析 二、模拟实现map/set 2.1 套上KeyOfT 2.2 普通迭代器实现 2.3 const迭代器实现 2.4 解决key不能修改的问题 2.5 map的[]实现 2.6 map/set以及红黑树源码 2.6.1 RBTree.h 2.6.2 set.h 2.6.3 map.h 总结 前言 之前的文章讲解了红黑树的具体实…...

VirtualBox虚拟机与主机之间无法复制粘贴的问题

插入出现问题&#xff0c;需要把其他的dvd弹出&#xff0c;比如系统安装镜像。 https://www.cnblogs.com/jianmuzi/p/17788084.html...

【HDFS入门】HDFS核心组件Secondary NameNode角色职责与运行机制解析

目录 1 Secondary NameNode的角色定位与常见误解 2 核心职责详解 2.1 核心功能职责 2.2 与NameNode的协作关系 3 运行机制深度剖析 3.1 检查点触发机制 3.2 元数据合并流程 4 与Hadoop 2.0 HA架构的对比 5 配置调优指南 5.1 关键配置参数 5.2 性能优化建议 6 实践应…...

AI知识补全(十六):A2A - 谷歌开源的agent通信协议是什么?

名人说&#xff1a;一笑出门去&#xff0c;千里落花风。——辛弃疾《水调歌头我饮不须劝》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;AI知识补全&#xff08;十五&#xff09;&#xff1a;AI可解…...

OOM问题排查和解决

问题 java.lang.OutOfMemoryError: Java heap space 排查 排查手段 jmap命令 jmap -dump,formatb,file<file-path> <pid> 比如 jmap -dump:formatb,file./heap.hprof 44532 使用JVisualVM工具&#xff1a; JVisualVM是一个图形界面工具&#xff0c;它可以帮…...