Elasticsearch的索引生命周期管理
目录
- 零、参考
- 一、ILM的基本概念
- 二、ILM的实践步骤
- Elasticsearch ILM策略中的“最小年龄”是如何计算的?
- 如何监控和调整Elasticsearch ILM策略的性能?
- 1. **监控性能**
- 使用`/_cat/thread_pool` API
- 基本请求格式
- 请求特定线程池的信息
- 响应内容
- 2. **调整ILM策略**
- 3. **优化数据迁移过程**
- 4. **自动化ILM策略**
- 5. **其他优化措施**
- 总结
- 三、使用案例
- Elasticsearch ILM是否支持跨集群管理中的数据迁移?
- 在实际应用中,Elasticsearch ILM的最佳实践案例有哪些?
- Elasticsearch ILM策略配置中的常见问题及解决方案是什么?
- 1. **配置错误导致索引卡住**
- 2. **策略参数设置不当**
- 3. **索引模板未正确设置**
- 4. **索引生命周期管理的阶段顺序问题**
- 5. **索引生命周期管理的故障排除**
Elasticsearch的索引生命周期管理(Index Lifecycle Management,简称ILM
)是一种自动化管理索引生命周期的技术,旨在优化资源利用和数据处理效率。ILM自Elasticsearch 6.7版本引入以来,已成为现代Elasticsearch集群管理的重要工具。以下将从ILM的基本概念、实践步骤以及实际应用场景等方面进行详细说明。
零、参考
-
Managing the index lifecycle
-
通过索引生命周期管理Heartbeat数据
-
通过索引生命周期管理实现冷热数据分离
一、ILM的基本概念
-
ILM的四个阶段:
- Hot阶段:索引可写入和查询,适用于最新数据,通常存储在高性能存储设备(如SSD)上。
- Warm阶段:索引可读但不可写,适用于较旧数据,通常存储在性能稍低但成本更低的存储设备上。
- Cold阶段:索引不可读写,但可查询,适用于长期存储的数据,通常使用大容量磁盘存储。
- Delete阶段:索引完全删除,适用于不再需要保留的数据。
-
ILM的工作原理:
- Elasticsearch集群通过配置ILM策略,根据索引的大小、年龄或文档数量等条件触发相应的操作,如滚动创建新索引、压缩旧索引、合并分片或删除索引。
- ILM策略由多个阶段组成,每个阶段可以定义不同的操作动作(如Rollover、Shrink、Force Merge、Delete等),并按顺序执行。
-
ILM的优势:
- 自动化管理:无需手动干预,减少运维负担。
- 资源优化:通过合理的存储分配提高性能和降低成本。
- 高可用性:支持跨集群管理和定时任务。
二、ILM的实践步骤
-
创建ILM策略:
- 使用Kibana的ILM界面或Elasticsearch的API定义策略。例如,设置索引的最大大小、最小年龄等条件。
- 策略中可以定义多个阶段,每个阶段指定不同的操作动作(如滚动创建新索引、压缩旧索引等)。
-
绑定ILM策略到索引模板:
- 创建索引模板并将其与ILM策略关联。例如,通过设置`index。
Elasticsearch ILM策略中的“最小年龄”是如何计算的?
在Elasticsearch的ILM(智能负载均衡)策略中,“最小年龄”是指索引在进入下一个阶段之前需要满足的最短时间限制。这个参数用于确保索引在进入下一个阶段之前已经完成当前阶段的所有操作,并且达到一定的稳定性或成熟度。
根据我搜索到的资料,ILM策略中的“最小年龄”是通过定义每个阶段的参数来设置的。例如:
- 热阶段:最大大小为5MB,最大年龄为1天,最大文档数为100万。
- 暖阶段:最小年龄为60秒,操作包括强制合并(force融合)和缩减(shrink)。
- 冷阶段:最小年龄为3个月,操作包括分配(allocate)。
- 删除阶段:最小年龄为1小时。
这些参数中的“最小年龄”是用户在创建ILM策略时手动设置的,用于控制索引在进入下一个阶段之前需要等待的时间。例如,在暖阶段,索引需要至少等待60秒才能进入冷阶段;在冷阶段,索引需要至少等待3个月才能进入删除阶段。
需要注意的是,“最小年龄”是基于时间的限制,而不是基于索引大小或其他条件。这意味着即使索引达到了最大大小或最大文档数,它也需要满足“最小年龄”的要求才能进入下一个阶段。
总结来说,“最小年龄”是ILM策略中一个重要的参数,用于确保索引在进入下一个阶段之前已经完成当前阶段的所有操作,并且达到一定的稳定性或成熟度。
如何监控和调整Elasticsearch ILM策略的性能?
监控和调整Elasticsearch ILM(索引生命周期管理)策略的性能需要从多个方面入手,包括监控性能、调整策略参数以及优化数据迁移过程。以下是详细的步骤和建议:
1. 监控性能
Elasticsearch提供了强大的监控功能,可以使用内置的API来查看集群的健康状态、分片状态以及查询性能等信息。常用的监控API包括:
/_cat/indices
:查看所有索引的状态。/_cat/shards
:查看分片的分布和状态。/_cat/thread_pool
:查看各个线程池的使用情况。返回集群中所有节点的所有线程池的统计信息。
此外,还可以使用第三方监控工具如Prometheus和Grafana,持续监控Elasticsearch的性能,并根据监控数据进行调优。
thread_pool
要使用Elasticsearch的/_cat/threads
API查看各个线程池的使用情况,首先需要明确的是,Elasticsearch并没有/_cat/threads
这个API。正确的API是/_cat/thread_pool
。以下是详细的使用方法:
使用/_cat/thread_pool
API
基本请求格式
GET /_cat/thread_pool
这个请求会返回集群中所有节点的所有线程池的统计信息。
请求特定线程池的信息
如果只想查看特定线程池的信息,可以在URL中指定线程池名称。例如,查看write
线程池的信息:
GET /_cat/thread_pool/write
响应内容
响应包含以下列:
node_name
:节点名称name
:线程池名称active
:活动线程数queue
:队列任务数rejected
:拒绝的任务数completed
:完成的任务数core
:核心数ephemeral_id
:临时节点IDhost
:主机名ip
:IP地址keep_alive
:线程保持时间largest
:最大活动线程数max
:最大活动线程数node_id
:节点IDpid
:进程IDpool_size
:线程池大小port
:端口queue_size
:队列大小size
:固定活动线程数type
:线程池类型
2. 调整ILM策略
ILM策略通过定义索引的生命周期阶段(hot、warm、cold、delete)来管理数据。每个阶段都有特定的操作,如索引的滚动更新、迁移、冻结和删除。以下是调整ILM策略的具体步骤:
- 创建新策略:在创建新策略时,需要指定每个阶段的参数,如最小年龄、最大大小等。
- 绑定策略到模板:将新策略绑定到相应的索引模板上,以实现对索引生命周期的有效管理。
- 调整检查频率:通过修改
indices生命周期.poll_interval
参数来控制检查频率,避免给节点带来过大负载。
3. 优化数据迁移过程
在数据迁移过程中,可能会遇到IO负载过高导致读写性能下降的问题。以下是一些优化建议:
- 分批迁移数据:将数据迁移分为多个阶段,按天、小时或更细粒度进行分批迁移,以减少对系统性能的影响。
- 调整indices.recovery.max_bytes_per_sec:如果当前设置的
indices.recovery.max_bytes_per_sec
值过低(如50M),可以适当增加该值以提高迁移效率。 - 分层存储策略:结合冷/热迁移策略,将热数据迁移到性能更高的节点,冷数据迁移到性能较低的节点,同时增加节点数量或使用Shard Allocation Awareness来优化集群资源分配。
4. 自动化ILM策略
为了进一步优化性能和稳定性,可以采用自动化ILM策略。例如:
- 自动化索引生命周期管理:通过自动化脚本定期调整ILM策略,确保数据在不同阶段得到妥善处理。
- 动态调整策略:根据集群性能和数据需求,动态调整ILM策略的参数,如迁移阈值、检查频率等。
5. 其他优化措施
- 节点属性配置:通过为节点分配自定义属性(如热节点、温节点和冷节点),实现冷热数据分离,优化存储成本和性能。
- 定期清理数据:使用ILM策略自动清理过期数据,避免数据无限增长,从而减少存储压力。
总结
通过以上方法,可以有效监控和调整Elasticsearch ILM策略的性能,确保数据生命周期管理的高效性和稳定性。
三、使用案例
Elasticsearch ILM是否支持跨集群管理中的数据迁移?
Elasticsearch ILM(索引生命周期管理)主要用于管理索引的生命周期,包括数据的热、温、冷和删除阶段。ILM 的核心功能是通过自动化策略来优化存储成本和性能,例如将数据从热节点迁移到冷节点,从而实现冷热分离。
然而,关于 ILM 是否支持跨集群管理中的数据迁移,证据中并未明确提到 ILM 可以直接支持跨集群的数据迁移。虽然 Elasticsearch 提供了 **CCR(Cross-Cluster Replication)**功能,该功能可以在不同集群之间进行数据同步和迁移,但 CCR 并非 ILM 的一部分,而是另一种独立的功能。
从证据中可以看出,ILM 的主要用途是管理索引生命周期内的数据迁移,而不是跨集群迁移。例如,ILM 可以在同一个集群内将数据从热节点迁移到冷节点,或者在生命周期的删除阶段自动删除数据。此外,ILM 的策略和操作是针对单个集群内的索引生命周期管理,而不是跨集群的数据迁移。
因此,可以得出结论:Elasticsearch ILM 不支持跨集群管理中的数据迁移。
在实际应用中,Elasticsearch ILM的最佳实践案例有哪些?
在实际应用中,Elasticsearch ILM(索引生命周期管理)的最佳实践案例主要集中在以下几个方面:
- 冷热数据分离:
- Elasticsearch ILM通过将索引生命周期分为四个阶段:热(Hot)、温(Warm)、冷(Cold)和删除(Delete),实现了冷热数据的自动分离。在“热”阶段,索引负责滚动更新数据,确保高性能的读写操作;在“温”和“冷”阶段,索引数据被进一步处理和存储,以优化存储成本和性能。
- 例如,在阿里云Elasticsearch集群中,通过设置ILM策略周期,可以有效控制检查频率,避免给节点带来过大负载。
数据流管理
-
策略配置与模板绑定:
- 创建新的ILM策略并将其绑定到索引模板是实现高效管理的关键步骤。具体操作包括通过PUT请求创建新的ILM策略,并将其与索引模板关联。这样可以确保数据在不同阶段的平滑迁移和灵活管理。
- 在阿里云Elasticsearch中,还可以通过修改
indices生命周期 poll_interval
参数来调整检查频率,从而优化性能。
-
性能优化与成本控制:
- ILM通过自动化管理索引的生命周期,不仅提高了数据处理效率,还显著降低了存储成本。例如,通过设置合理的策略周期和参数,可以确保在保证读写性能的同时,实现冷热数据的有效分离。
- 在实际应用中,如日志分析场景,ILM策略可以确保最近30天的日志保留,同时保证最近7天的日志查询性能。
-
动态管理与监控:
- Elasticsearch ILM支持通过Kibana界面或API进行动态管理。用户可以根据实际需求调整策略,如调整Rollover、Shrink、Force Merge等动作的执行频率和条件。
- 例如,在阿里云Elasticsearch中,通过创建新的ILM策略并将其与索引模板关联,可以实现对Elasticsearch集群中数据的高效管理和监控。
-
实战案例:
- 在实际应用中,ILM策略被广泛用于管理大规模日志数据。例如,通过ILM策略管理nginx日志索引,确保最近30天的日志保留,同时保证最近7天的日志查询性能。
- 另一个案例是通过ILM策略实现冷热数据分离,从而优化存储成本和性能。
综上所述,Elasticsearch ILM的最佳实践案例主要集中在冷热数据分离、策略配置与模板绑定、性能优化与成本控制、动态管理与监控以及实战应用等方面。
Elasticsearch ILM策略配置中的常见问题及解决方案是什么?
Elasticsearch的ILM(索引生命周期管理)策略配置中常见的问题及解决方案可以从多个方面进行探讨。以下是一些常见问题及其解决方案:
1. 配置错误导致索引卡住
- 问题描述:在配置ILM策略时,如果策略中未定义某些阶段(如“hot”或“warm”),可能会导致索引在执行过程中卡住。例如,当策略中没有设置“hot”箱类型时,可能会出现错误。
- 解决方案:确保在ILM策略中定义所有必要的阶段,并为每个阶段指定正确的参数。例如,可以使用以下命令重新分配索引或为索引分配新策略:
PUT /_ilm/policy/my_new_policy{"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb","max_age": "30d"}}},"warm": {"actions": {"copy_to": {"index": "my_warm_index"}}},"cold": {"actions": {"set优先级": {"level": "cold"}}},"delete": {"actions": {"delete": {}}}}}
确保策略中的每个阶段都包含必要的动作和参数。
2. 策略参数设置不当
- 问题描述:ILM策略中的参数设置不当可能导致索引生命周期管理不按预期运行。例如,
max_size
和max_age
参数设置不当可能导致索引无法正常滚动。 - 解决方案:仔细检查并调整策略中的参数设置。例如,可以使用以下命令创建一个包含合理参数的策略:
PUT /_ilm/policy/my_policy{"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb","max_age": "30d"}}},"warm": {"actions": {"copy_to": {"index": "my_warm_index"}}},"cold": {"actions": {"set优先级": {"level": "cold"}}},"delete": {"actions": {"delete": {}}}}}
确保每个阶段的参数设置合理,以避免不必要的问题。
3. 索引模板未正确设置
- 问题描述:在配置ILM策略时,如果索引模板未正确设置,可能会导致策略无法生效。例如,修改索引模板后需要重新加载策略。
- 解决方案:确保在修改索引模板后,通过以下命令重新加载策略:
./heartbeat setup --ilm-policy
或者手动更新索引模板并重新加载策略。
4. 索引生命周期管理的阶段顺序问题
- 问题描述:ILM策略中定义的阶段顺序可能会影响索引的生命周期管理。例如,如果未按顺序定义阶段,可能会导致策略执行异常。
- 解决方案:确保在配置ILM策略时,按照正确的顺序定义阶段。例如:
PUT /_ilm/policy/my_policy{"phases": {"hot": {"actions": {"rollover": {"max_size": "50gb","max_age": "30d"}}},"warm": {"actions": {"copy_to": {"index": "my_warm_index"}}},"cold": {"actions": {"set优先级": {"level": "cold"}}},"delete": {"actions": {"delete": {}}}}}
确保每个阶段都按顺序定义,以避免不必要的问题。
5. 索引生命周期管理的故障排除
- 问题描述:在配置和使用ILM策略时,可能会遇到各种故障。例如,索引可能因配置错误而卡住。
相关文章:
Elasticsearch的索引生命周期管理
目录 零、参考一、ILM的基本概念二、ILM的实践步骤Elasticsearch ILM策略中的“最小年龄”是如何计算的?如何监控和调整Elasticsearch ILM策略的性能? 1. **监控性能**使用/_cat/thread_pool API基本请求格式请求特定线程池的信息响应内容 2. **调整ILM策…...
检测到联想鼠标自动调出运行窗口,鼠标自己作为键盘操作
联想鼠标会自动时不时的调用“运行”窗口 然后鼠标自己作为键盘输入 然后打开这个网页 (不是点击了什么鼠标外加按键,这个鼠标除了左右和中间滚轮,没有其他按键了)...
2024年记 | 凛冬将至
放弃幻想,准备斗争! 考研or就业? 上大学以来,考研上名校在我的心里一直是一颗种子,2024年初,当时的想法是考研和就业两手抓。买了张宇的高数现代,想要死磕! 也记了挺多笔记... 如果…...
【Java-数据结构】Java 链表面试题下 “最后一公里”:解决复杂链表问题的致胜法宝
我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 引言: Java链表,看似简单的链式结构,却蕴含着诸多有趣的特性与奥秘,等待我们去挖掘。它就像一…...
vim如何解决‘’文件非法关闭后,遗留交换文件‘’的问题
过程描述: 由于我修改文件时(一定得修改了文件,不做任何修改不会产生这个问题)的非法关闭,比如直接关闭虚拟机,或者直接断开远程工具的远程连接,产生了以下遗留交换文件的问题: 点击…...
国内优秀的FPGA设计公司主要分布在哪些城市?
近年来,国内FPGA行业发展迅速,随着5G通信、人工智能、大数据等新兴技术的崛起,FPGA设计企业的需求也迎来了爆发式增长。很多技术人才在求职时都会考虑城市的行业分布和发展潜力。因此,国内优秀的FPGA设计公司主要分布在哪些城市&a…...
运用python爬虫爬取汽车网站图片并下载,几个汽车网站的示例参考
当然,以下是一些常见的汽车网站及其爬虫示例代码,展示如何爬取汽车图片并下载。请注意,爬取网站内容时应遵守网站的使用协议和法律法规,避免对网站造成不必要的负担。 示例1:爬取汽车之家图片 网站地址 汽车之家 爬…...
IO进程寒假作业DAY6
请使用互斥锁 和 信号量分别实现5个线程之间的同步 使用互斥锁 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include &…...
C++ 中用于控制输出格式的操纵符——setw 、setfill、setprecision、fixed
目录 四种操纵符简要介绍 setprecision基本用法 setfill的基本用法 fixed的基本用法 setw基本用法 以下是一些常见的用法和示例: 1. 设置字段宽度和填充字符 2. 设置字段宽度和对齐方式 3. 设置字段宽度和精度 4. 设置字段宽度和填充字符,结合…...
solidity高阶 -- 线性继承
Solidity是一种面向合约的高级编程语言,用于编写智能合约。在Solidity中,多线继承是一个强大的特性,允许合约从多个父合约继承属性和方法。本文将详细介绍Solidity中的多线继承,并通过不同的实例展示其使用方法和注意事项。 在Sol…...
PydanticAI应用实战
PydanticAI 是一个 Python Agent 框架,旨在简化使用生成式 AI 构建生产级应用程序的过程。 它由 Pydantic 团队构建,该团队也开发了 Pydantic —— 一个在许多 Python LLM 生态系统中广泛使用的验证库。PydanticAI 的目标是为生成式 AI 应用开发带来类似 FastAPI 的体验,它基…...
Leecode刷题C语言之跳跃游戏②
执行结果:通过 执行用时和内存消耗如下: int jump(int* nums, int numsSize) {int position numsSize - 1;int steps 0;while (position > 0) {for (int i 0; i < position; i) {if (i nums[i] > position) {position i;steps;break;}}}return steps…...
fpga学习入门 串口rs232回环
奇偶检验位这里是省略了 做好回环后可以使用上位机做回环测试,top文件写的方式就是将rx(fpga端)接受到的模块(pc端)tx发送出去,这两个端口用杜邦线连接,同理模块的rx连接fpga的tx,…...
单片机基础模块学习——DS18B20温度传感器芯片
不知道该往哪走的时候,就往前走。 一、DS18B20芯片原理图 该芯片共有三个引脚,分别为 GND——接地引脚DQ——数据通信引脚VDD——正电源 数据通信用到的是1-Wier协议 优点:占用端口少,电路设计方便 同时该协议要求通过上拉电阻…...
C基础寒假练习(4)
输入带空格的字符串,求单词个数、 #include <stdio.h> // 计算字符串长度的函数 size_t my_strlen(const char *str) {size_t len 0;while (str[len] ! \0) {len;}return len; }int main() {char str[100];printf("请输入一个字符串: ");fgets(…...
es6.7.1分词器ik插件安装-和head插件连接es特殊配置
es6.7.1分词器ik插件安装-和head插件连接es特殊配置 如果对运维课程感兴趣,可以在b站上、A站或csdn上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频 1.查看es6.7.1和es-head安装位置和es插件路径 [ro…...
Luzmo 专为SaaS公司设计的嵌入式数据分析平台
Luzmo 是一款嵌入式数据分析平台,专为 SaaS 公司设计,旨在通过直观的可视化和快速开发流程简化数据驱动决策。以下是关于 Luzmo 的详细介绍: 1. 背景与定位 Luzmo 前身为 Cumul.io ,专注于为 SaaS 公司提供嵌入式分析解决方案。…...
菜鸟之路Day10一一集合进阶(三)
菜鸟之路Day10一一集合进阶(三) 作者:blue 时间:2025.1.28 文章目录 菜鸟之路Day10一一集合进阶(三)0.概述1.双列集合概述2.Map2.1Map的常见API2.2Map的遍历方式 3.HashMap4.LinkedHashMap5.TreeMap 0.概…...
Android车机DIY开发之学习篇(六)编译讯为3568开发板安卓
Android车机DIY开发之学习篇(六)编译讯为3568开发板安卓 1.SDK解压到家目录下的 rk3588_android_sdk 目录 一. 全部编译 ###执行 sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib gmultilib…...
Workerman和Swoole有什么区别
Workerman和Swoole都是PHP的socket服务器框架,它们之间存在一些显著的区别,主要体现在以下几个方面: 一、实现语言与性能 Workerman:使用纯PHP实现。由于PHP本身的性能限制,Workerman在某些方面可能不如C语言实现的框…...
MySQL(1)
数据库 基础篇 MYSQL概述 SQL 函数 约束 多表查询 事务 进阶篇 存储索引 索引 SQL优化 试图/存储过程/触发器 锁 InnoDB核心 MySQL管理 运维篇 日志 主从复制 分库本表 读写分离 基础篇 MySQL 数据库概念:存储数据的仓库,数据是有…...
DeepseekMath:超强开源数学模型(论文详解)
摘要 近日,中国团队Deepseek推出了一款名为DeepSeekMath的7B开源数学模型,这个模型在数学方面的表现令人惊叹。DeepSeekMath 7 B在不依赖外部工具包和投票技术的情况下,在竞赛级MATH基准测试中获得了51.7%的分数,接近Gemini-Ultr…...
OpenCSG月度更新2025.1
1月的OpenCSG取得了一些亮眼的成绩 在2025年1月,OpenCSG在产品和社区方面继续取得了显著进展。产品方面,推出了AutoHub浏览器自动化助手,帮助用户提升浏览体验;CSGHub企业版功能全面升级,现已开放试用申请,…...
简易CPU设计入门:控制总线的剩余信号(四)
项目代码下载 请大家首先准备好本项目所用的源代码。如果已经下载了,那就不用重复下载了。如果还没有下载,那么,请大家点击下方链接,来了解下载本项目的CPU源代码的方法。 CSDN文章:下载本项目代码 上述链接为本项目…...
scrol家族 offset家族 client家族学习
Scroll 系列属性 scrollTop & scrollLeft scrollTop: 返回元素的内容已向上滚动的部分的高度。scrollLeft: 返回元素的内容已向左滚动的部分的宽度。 scrollHeight & scrollWidth scrollHeight: 返回元素的实际高度,包括由于溢出而在屏幕上不可见的内容…...
人工智能发展历程
AI 发展历史时间表 1943年,美国神经科学家沃伦斯特麦卡洛克和逻辑学家沃尔特皮茨提出了神经元的数学模型,第一个神经元的数学模型- MP 模型。为现代人工智能学科的建立奠定了基础。1950年,艾伦图灵提出了著名的“图灵测试”,使得…...
vim交换文件的工作原理
在vim中,交换文件是一个临时文件,当我们使用vim打开一个文件进行编辑(一定得是做出了修改才会产生交换文件)时候,vim就会自动创建一个交换文件,而之后我们对于文件的一系列修改都是在交换文件中进行的&…...
利用 PyTorch 动态计算图和自动求导机制实现自适应神经网络
在深度学习任务中,不同任务的复杂度千差万别。为了解决复杂任务对模型容量的需求,同时避免简单任务因过度拟合导致的性能下降,我们可以构建一个能够根据任务自动调整网络结构的神经网络。在 PyTorch 中,动态计算图和自动求导机制为…...
docker如何查看容器启动命令(已运行的容器)
docker ps 查看正在运行的容器 该命令主要是为了详细展示查看运行时的command参数 # 通过docker --no-trunc参数来详细展示容器运行命令 docker ps -a --no-trunc | grep <container_name>通过docker inspect命令 使用docker inspect,但是docker inspect打…...
学历赋
崇岳北峙,紫气东临;学海横流,青云漫卷。连九陌而贯八荒,纳寒门而载贵胄。墨池泛舟,曾照匡衡凿壁之光;杏坛飞絮,犹闻仲尼弦歌之音。然观当下,黉宇接天如笋立,青衫叠浪似云…...
vue和reacts数据响应式的差异
Vue 的数据响应式: 原理: Vue 使用 Object.defineProperty 或 Proxy(在 Vue 3 中)来实现数据的响应式。当创建 Vue 实例时,会对 data 对象中的属性进行遍历,将其转换为响应式属性。对于 Object.definePro…...
doris: MAP数据类型
MAP<K, V> 表示由K, V类型元素组成的 map,不能作为 key 列使用。 目前支持在 Duplicate,Unique 模型的表中使用。 K, V 支持的类型有: BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, DECIMAL, DECIMALV3, DAT…...
在计算机上本地运行 Deepseek R1
Download Ollama on Linux Download Ollama on Windows Download Ollama on macOS Deepseek R1 是一个强大的人工智能模型,在科技界掀起了波澜。它是一个开源语言模型,可以与 GPT-4 等大玩家展开竞争。但更重要的是,与其他一些模型不同&…...
LeetCode 16. 排列序列
思路 排序数组:对数组进行从小到大排序。 遍历固定一个元素:遍历数组中的每个元素作为三个数中的第一个数,固定该元素后,使用双指针在剩余的子数组中寻找另外两个数。 双指针逼近target:对于每个固定的元素ÿ…...
【C++高并发服务器WebServer】-9:多线程开发
本文目录 一、线程概述1.1 线程和进程的区别1.2 线程之间共享和非共享资源1.3 NPTL 二、线程操作2.1 pthread_create2.2 pthread_exit2.3 pthread_join2.4 pthread_detach2.5 patch_cancel2.6 pthread_attr 三、实战demo四、线程同步五、死锁六、读写锁七、生产消费者模型 一、…...
全解:Redis RDB持久化和AOF持久化
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
视频外绘技术总结:Be-Your-Outpainter、Follow-Your-Canvas、M3DDM
Diffusion Models专栏文章汇总:入门与实战 前言:视频Inpaint的技术很火,但是OutPaint却热度不高,这篇博客总结比较经典的几篇视频Outpaint技术。其实Outpaint在runway等工具上很火,可是学术界对此关注比较少,博主从这三年的顶会中找到了最具代表性的三篇论文解读。 目录 …...
LLM - 大模型 ScallingLaws 的设计 100B 预训练方案(PLM) 教程(5)
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145356022 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Scaling Laws (缩放法则) 是大模型领域中,用于描述 模型性能(Loss) 与…...
Python帝王學集成-母稿
引用:【【全748集】这绝对是2024最全最细的Python全套教学视频,七天看完编程技术猛涨!别再走弯路了,从零基础小白到Python全栈这一套就够了!-哔哩哔哩】 https://b23.tv/lHPI3XV 语法基础 Python解释器与pycharm编辑器安装 - 定义:Python解释器负责将Python代码转换为计…...
MySQL数据导入与导出
在现代软件开发中,数据管理是一个重要的核心环节,而数据库则是进行数据管理的主要工具。MySQL 作为一款开源的关系型数据库管理系统,被广泛应用于企业和个人开发项目中。对于学习编程的初学者或是自学者来说,掌握 MySQL 的基本操作尤为重要,尤其是数据的导入与导出功能。这…...
微服务面试题:概览
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
每日一题 430. 扁平化多级双向链表
430. 扁平化多级双向链表 简单 /*class Solution { public:Node* flatten(Node* head) {Node* tail nullptr;return dfs(head);}Node* dfs(Node* head){Node* cur head;while(cur ! nullptr){if(cur->child ! nullptr){Node* curChild getTail(cur->child);Node* te…...
冯诺依曼系统及操作系统
目录 一.冯诺依曼体系结构 二.操作系统 三.系统调用和库函数概念 一.冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 截至目前,我们所认识的计算机,都是由一…...
双指针(典型算法思想)——OJ例题算法解析思路
目录 一、283. 移动零 - 力扣(LeetCode) 1. 问题分析 2. 算法思路 3. 代码逐行解析 4. 示例运行 5. 时间复杂度与空间复杂度 6. 总结 二、1089. 复写零 - 力扣(LeetCode) 1. 问题分析 2. 算法思路 3. 代码逐行解析 4. …...
大数据Hadoop入门1
目录 相关资料 第一部分 1.课程内容大纲和学习目标 2.数据分析和企业数据分析方向 3.数据分析基本流程步骤 4.大数据时代 5.分布式和集群 6.Linux操作系统概述 7.VMware虚拟机概念与安装 8.centos操作系统的虚拟机导入 9.VMware虚拟机常规使用、快照 第二部分 1.课…...
Ubuntu-手动安装 SBT
文章目录 前言Ubuntu-手动安装 SBT1. SBT是什么?1.1. SBT 的特点1.2. SBT 的基本功能1.3. SBT 的常用命令 2. 安装2.1. 下载2.2. 解压 sbt 二进制包2.3. 确认 sbt 可执行文件的位置2.4. 设置执行权限2.5. 创建符号链接2.6. 更新 PATH 环境变量2.7. 验证 sbt 安装 前言 如果您觉…...
人工智能:农业领域的变革力量
在当今科技飞速发展的时代,人工智能正以前所未有的态势渗透进各个领域,农业也不例外。想象一下,未来的农田里,农民不再是弯腰劳作的形象,而是坐在高科技的“智能农场”里,悠闲地喝着咖啡,指挥着…...
Qt——界面优化
一.QSS 1.背景 在网页前端开发领域中, CSS 是⼀个至关重要的部分。 描述了⼀个网页的 "样式"。 从而起到对网页美化的作用。 所谓样式,包括不限于大小,位置,颜色,背景,间距,字体等等…...
Qt Designer and Python: Build Your GUI
1.install pyside6 2.pyside6-designer.exe 发送到桌面快捷方式 在Python安装的所在 Scripts 文件夹下找到此文件。如C:\Program Files\Python312\Scripts 3. 打开pyside6-designer 设计UI 4.保存为simple.ui 文件,再转成py文件 用代码执行 pyside6-uic.exe simpl…...
HarmonyOS DevEco Studio模拟器点击运行没有反应的解决方法
HarmonyOS DevEco Studio模拟器点击运行没有反应的解决方法 翻遍了CSDN,试了所有办法都没办法,最后偶然间竟然解决了 解决方法其实很简单:本地模拟器下载路径下面不能有中文。。。。。 切换正确路径以后,成功运行,哦…...