自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(255)
  • 资源 (3)
  • 收藏
  • 关注

原创 Minio分布式多节点多驱动器集群部署

在 Linux 环境下部署 MinIO 分布式存储集群的详细步骤。这些步骤涵盖了从前期准备到最后配置的各个环节,涉及到集群节点的设置、存储和网络配置、MinIO 服务的安装与启动、以及高可用性和负载均衡的配置等

2025-02-21 17:00:36 1409

原创 Minio集群模式报错解决:Unable to use the drive XXX: drive not found, will be retried

MinIO 在启动时需要能够访问其数据存储目录。虽然给磁盘目录赋予了 minio-user 用户权限,但如果没有递归地为该目录下的所有子目录和文件设置正确的权限,就会导致 MinIO 无法正确访问这些目录,从而导致启动失败。为数据目录递归赋予正确权限:最初的操作只是为数据目录本身赋权,而没有递归到该目录下的所有文件和子目录。MinIO 启动时会尝试读取和写入这些目录,若没有足够权限,就会出现“drive not found”错误。使用 -R 选项递归赋予权限可以解决问题

2025-02-21 16:45:22 976

原创 VMware新建centos7虚拟机并配置

点击网络和主机名配置,选择ipv4设置,输入ip地址、子网掩码、网关和DNS服务器。由于我在内网搭建的虚拟机,所以需要发给网管的mac地址和配置的ip进行。开启虚拟机,选择后回车。

2025-02-19 16:43:31 417

原创 消息队列基础知识和主流消息队列对比

消息队列(Message Queue,MQ)本质上是一个数据存储队列,用于临时保存和传输消息。消息中间件是一种基于高效、可靠的消息传递机制,实现跨平台数据通信的工具。它在分布式系统中发挥重要作用,主要用于异步处理、解耦应用、削峰限流、消息通讯,从而提升系统的性能、可用性、扩展性,并确保数据的最终一致性。目前,常见的消息队列技术包括等,每种方案在不同场景下具有独特优势。

2025-02-13 16:12:28 1026

原创 CentOS7 安装配置FTP服务

FTP(File Transfer Protocol,文件传输协议)是一种用于在计算机之间传输文件的网络协议,基于客户端-服务器模式,运行在TCP/IP网络上。它主要用于在本地计算机和远程服务器之间上传和下载文件。

2025-02-12 10:36:59 1517

原创 解决在linux执行删除时报错:Read-only file system

```bashsudo umount /mnt/sda1```然后运行 `fsck` 修复文件系统:```bashsudo fsck /dev/sda1```修复完成后,重新挂载文件系统:```bashsudo mount /mnt/sda1```

2025-01-07 17:46:57 1071

原创 Elasticsearch 分片恢复失败及解决方案

在使用 Elasticsearch 时出现分片未被分配的情况是比较常见的,尤其是在节点出现故障或重启的情况下。上面的错误日志表明,某个分片由于无法获得锁,导致恢复失败,并且分配失败,最终被丢弃。这种问题通常发生在 Elasticsearch 集群中的一个或多个节点无法成功分配或恢复特定的分片。

2025-01-06 10:06:10 597

原创 Elasticsearch 单节点安全配置与用户认证

安全扫描时发现了一个高危漏洞:Elasticsearch 未授权访问。在使用 Elasticsearch 构建搜索引擎或处理大规模数据时,需要启用基本的安全功能来防止未经授权的访问。本文将通过简单的配置步骤,为单节点 Elasticsearch 实现最基本的安全功能,包括启用 Elasticsearch 自带的安全功能和配置传输层 SSL,以确保数据传输的加密和访问权限的严格管理。(elaticsearch版本7.9.2)

2024-12-04 08:00:00 1485

原创 基于 JAXB 注解方式解析 XML 文件与批量导入实现

本文以实际的项目需求为例,分享如何基于实现 XML 文件的解析,并将解析后的数据导入数据库本文主要使用的javax.xml是 Java 自带的包,通常用来处理 XML 和 Java 对象之间的转换。具体来说,这些类属于,用于将 Java 对象序列化为 XML,或者将 XML 反序列化为 Java 对象。被迁移到了模块化系统,并且从 JDK 11 开始默认支持。如果你使用的 JDK 是 11 或以上版本,需要通过添加外部依赖来使用这些类

2024-11-29 11:52:16 1148

原创 Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现

RSA算法是一种非对称加密算法,与对称加密算法不同的是,RSA算法有两个不同的密钥,一个是公钥,一个是私钥RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

2024-11-21 09:16:59 1148

原创 Linux安装与配置 Gitblit 1.9.3 服务

默认情况下,Gitblit 使用端口 8080 和 8443,可以根据需要更改端口设置。使用这种方式启动 Gitblit 后,如果关闭 SSH 连接,Gitblit 服务也会停止。点击下载链接,将 Gitblit 1.9.3 的安装包下载到本地。为了避免每次重启 SSH 会话时需要手动启动 Gitblit,可以创建一个。将下载的 Gitblit 安装包上传到服务器,建议上传到。来设置服务单元,确保 Gitblit 在后台持续运行。服务单元来自动启动 Gitblit。将下载的文件上传到服务器的。

2024-11-07 09:47:41 1568

原创 MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist

这个问题通常是由于 MySQL 用户的访问权限设置不当,特别是root用户没有正确的全局权限。只需要为root用户授予全局访问权限并刷新权限,通常就可以解决该问题。如果视图仍然无法正常工作,可以检查并修改视图的Definer用户。

2024-11-07 09:32:54 1184

原创 使用 Elasticsearch Reindex API 迁移数据

创建新索引:根据需求创建一个新索引,新旧索引的字段名称和数据类型必须一致数据完整性:确保在迁移过程中,旧索引不再进行写入操作,以避免数据不一致迁移数据:使用 Reindex API 将旧索引中的数据重新索引到新索引中。

2024-09-21 09:21:57 1336 1

原创 Elasticsearch 检索优化:停用词的应用

在 Elasticsearch 中,可以通过修改索引的settings来定义自定义分析器,并为其添加停用词过滤器。可以通过stopwords参数指定停用词列表,支持内置语言值或自定义停用词文件。如果内置的停用词列表不满足需求,可以自定义停用词过滤器。},

2024-09-21 09:11:46 1553

原创 Flink1.18.1 Standalone模式集群搭建

本文将介绍如何在 Linux 服务器上搭建 Flink Standalone 集群,包含环境准备、配置修改和任务提交的步骤。在 Flink 集群中,各个节点之间需要免密登录。建议在每个节点上配置环境变量,方便使用 Flink 命令。从 Apache Flink 官方下载页面获取。,并在每台服务器上安装 JDK 8 以上版本。为了搭建高可用的 Flink 集群,需确保。,应能看到 Flink 的 Web UI。将安装好的 Flink 目录分发到。公钥生成后,默认存放在。

2024-09-19 08:58:52 1366

原创 Elasticsearch 分片迁移与移除集群节点操作

分片迁移与节点从集群中移除

2024-09-19 08:47:35 1024

原创 PostgreSQL15.x安装教程

PostgreSQL 是一个功能强大的开源关系型数据库系统,基于 C 语言实现,采用 PostgreSQL 许可证,这是一种自由软件许可证,允许用户自由使用、修改和分发源代码,同时支持商业用途而不设强制限制。这使得 PostgreSQL 成为广受欢迎的开源数据库解决方案。PostgreSQL 支持跨版本升级,过程通常平稳。尽管国内市场 MySQL 仍占主导地位,但许多国产数据库(如华为的 GaussDB 和腾讯的 Tbase)及云服务提供商都广泛支持 PostgreSQL。此外,pgloader。

2024-09-13 09:17:28 1619

原创 Elasticsearch Suggesters 自动补全长度设置

理想情况下,自动补全功能的响应速度应该跟上用户的输入速度,从而即时提供与用户已输入内容相关的反馈。因此,Completion Suggester 进行了速度优化。该建议器使用的数据结构支持快速查找,但这些结构的构建成本较高,并且存储在内存中。这是一种导航特性,旨在引导用户找到相关结果,从而提高搜索精度。解决:“max_input_length”: 100,不仅可以实现返回数据长度100,同时也可以在用户输入100字以内的检索词进行联想。问题:在用户输入之后联想词返回长度默认为50,导致返回结果不完全。

2024-09-09 11:13:49 509

原创 Elasticsearch Suggesters API详解与联想词自动补全应用

在现代搜索引擎的应用场景中,自动补全和拼写检查已成为提升用户搜索体验的重要功能Elasticsearch 作为一款广泛使用的分布式搜索引擎,提供了丰富的 Suggesters API,可以帮助开发者实现精确的自动补全和拼写纠错功能本文将深入探讨 Elasticsearch 中的四种核心 Suggester——**Term Suggester**、**Phrase Suggester**、**Completion Suggester** 和 **Context Suggester**,并通过实际示例展示如何在

2024-08-29 14:11:08 1524 1

原创 Typora + PicGo + Gitee 实现图片自动上传

本文介绍了如何使用 Typora 配合 PicGo 和 Gitee 实现图片自动上传的详细步骤。首先,用户需要在 Gitee 上创建一个用于存储图片的仓库,并生成私人令牌以授权 PicGo 上传图片。接着,安装并配置 PicGo,特别是安装 Gitee 图床上传插件,并设置图床信息。最后,通过配置 Typora,使其在编辑过程中自动上传图片到 Gitee 仓库,便于管理和使用

2024-08-29 11:16:40 1095

原创 高级MySQL数据库备份脚本

指定数据库连接中的数据库进行备份可以将备份文件通过FTP或者SFTP传输到其他服务器进行异地备份指定备份文件保留天数邮件发送备份信息

2024-08-28 09:01:08 1596

原创 CentOS7 使用 YUM 安装时报错:cannot find a valid baseurl for repo:base/7/x86_64的解决方法

电脑可以上网,DNS 也配置正常,但依然无法解析 YUM 源地址。这种情况下,可以考虑更换 YUM 源。例如,使用阿里云的镜像源。如果执行yum仍然报错,在遇到某些 repo 报错时,可以禁用它们,避免错误干扰。以下命令可以禁用特定 repo,例如。如果无法 ping 通,说明网络连接有问题。解决网络问题后再继续排查。如果无法解析域名,则可能是 DNS 配置问题。可以尝试更换 DNS。检查网络连接是否正常。文件,然后通过 SSH 工具上传到服务器。使用 SSH 工具将文件上传到服务器的。

2024-08-26 15:18:34 9704 6

原创 Typora + PicGo + SMMS 实现markdown格式文档图片上传

Typora是一款好用极简免费的跨平台Markdown编辑器,软件使用这款软件能够帮助用户轻松将文本转换到HTML,软件从底层向上设计,软件支持markdown的标准语法,同时这款软件还支持动态预览功能等

2024-08-26 14:57:11 783

原创 解决 Elasticsearch 写操作磁盘空间问题——cluster_block_exception

在运行 Elasticsearch 集群遇到磁盘空间不足的情况时,Elasticsearch 会采取保护措施以防止数据丢失。错误,特别是当错误消息表明索引被设置为只读模式时。

2024-08-14 10:31:31 1153

原创 解决 Nginx 413 Request Entity Too Large 错误

当在使用 Nginx 服务器时,上传文件或提交大量数据时可能会遇到 “413 Request Entity Too Large” 错误。这个错误通常是因为请求体大小超出了服务器的限制。要解决这个问题,可以通过调整 Nginx 的配置文件来增加允许的请求体大小限制。

2024-07-29 09:26:27 3604

原创 ES的基本组成和es的优势以及搜索写入原理

本文依照倒叙的方式介绍什么是elasticsearch,包含es的基本组成和es的优势以及写入搜索的流程首先引入一个问题,如何从三段文本中快速找到包含关键词’caixukun’的记录?最直接的思路就是遍历所有的文本记录,然后判断是否包含关键词,最后返回文本的id如果记录的条数有上亿条呢?或者十亿?百亿?继续采用最初的思路全部遍历,先不说速度与乌龟相比如何,有没考虑过计算机的感受?cpu呢?内存呢?磁盘io?

2024-07-22 08:00:00 1302

原创 Linux安装nvm并使用安装node

NVM(Node Version Manager)是一个用于管理 Node.js 版本的工具,可以在同一台计算机上安装和切换不同版本的 Node.js。

2024-07-19 15:55:40 1026

原创 低危漏洞修复——点击劫持X-Frame-Options响应头缺失

X-Frame-Options响应头缺失,导致攻击者使用一个或多个透明的iframe覆盖在正常网页上,诱使用户在网页上进行操作,当用户在不知情的情况下点击透明的iframe页面时,用户的操作已被劫持到攻击者事先设计的恶意按钮或链接上。

2024-07-11 16:00:34 2009

原创 Elasticsearch中的match_phrase_prefix、prefix和wildcard查询详解

适用于需要匹配特定前缀的短语且对查询精度要求较高的场景。例如,搜索以“O”开头的完整短语。prefix:适用于简单的前缀匹配,数据量较大且对性能要求较高的场景。例如,快速筛选以“O”开头的条目。wildcard:适用于需要复杂匹配模式的场景,但应谨慎使用以避免性能问题。例如,需要匹配“O*”模式的多样化查询。

2024-06-27 10:50:16 1564 2

原创 ES报错:解决too_many_clauses: maxClauseCount is set to 1024 报错问题

以及其他的查询生成的子句数量超过了Elasticsearch的默认限制(尝试减少子句数量,优化子句的查询数量,使得能减少到1024的个数限制。如果确实需要大量的子句,可以增加Elasticsearch中的。如果前两种方法不可行,考虑使用性能更好的查询类型,比如。查询精确,但它性能更好,并且不会产生过多的子句。查询语句:查询clcNo分类号包含分类。可能扩展为大量词条的查询中超过了限制。我这里的错误是由于使用。这里是一个优化后的查询示例,将。从报错信息来看,查询出现了。错误,这是因为使用的。

2024-06-27 10:40:16 1711

原创 在 IntelliJ IDEA 中使用 Java 和 Selenium 模拟 Chrome 浏览器教程

Selenium 是一个流行的自动化测试工具,支持多种浏览器平台。它的灵活性和丰富的功能使其非常适合测试各种类型的网页应用。虽然关于 Selenium 和 Java 的资料较少且分散,但 Java 爬虫其实非常方便,只要多看源码就能掌握。环境准备:配置 Java 开发环境、下载并安装 ChromeDriver、设置 Chrome 浏览器和 ChromeDriver 版本一致、禁用 Chrome 自动更新

2024-06-23 12:04:59 2082

原创 使用MyBatis的动态SQL注解实现实体的CRUD操作

在使用MyBatis进行数据库操作时,动态SQL注解提供了一种优雅的方式来编写动态SQL语句。MyBatis 3.x 版本提供了以下四个CRUD的高级注解:@SelectProvider:用于构建动态查询SQL@InsertProvider:用于构建动态新增SQL@UpdateProvider:用于构建动态更新SQL。@DeleteProvider:用于构建动态删除SQL。此外,我们将与MyBatis Plus中的`@Select`注解进行对比,展示MyBatis动态SQL注解的优势和灵活性。

2024-06-21 17:23:18 2247 5

原创 ES全文检索支持繁简和IK分词检索

本教程旨在展示如何在ES中引入繁简转换和IK分词插件,使得在检索时无论输入简体还是繁体都能够被检索到。无论用户输入“語法”还是“语法”,检索结果中都能命中包含简体和繁体的相关文档。这种处理方式不仅提升了用户体验,还增强了检索的准确性和全面性。

2024-06-21 15:05:54 3283 4

原创 最新版本IntelliJ IDEA安装与“坤活”使用

选择适合操作系统的版本(Windows、macOS 或 Linux)在页面中找到需要的版本(Ultimate 或 Community)点击下载按钮,开始下载安装包,然后解压安装或者选择红框的免安装版本。

2024-06-19 17:27:37 1359 1

原创 Windows安装配置jdk和maven

tm的远程连接不上公司电脑,只能在家重新配置一遍,在此记录一下后端环境配置。本文主要介绍jdk安装配置,maven安装配置

2024-06-19 17:19:08 1504

原创 SpringBoot 大文件基于md5实现分片上传、断点续传、秒传

这篇文章介绍了在 SpringBoot 中实现大文件分片上传、断点续传和秒传的方法。分片上传通过将大文件分成多个小块,提高上传可靠性和效率;断点续传允许在上传失败后从断点处继续上传;秒传则通过文件哈希值判断文件是否已存在,避免重复上传。文章详细描述了前端使用 WebUploader 实现分片上传,后端保存分片文件并在全部上传完成后合并的步骤,同时提供了可运行的前后端源码。

2024-06-14 10:07:54 1617 3

原创 处理导入Excel文件过大导致Zip bomb detected的问题

此错误提示文件大小超过了压缩文件大小与解压后数据大小之比的最大限制,为了处理这一问题,可以在方法体的顶部添加一行代码来调整这一限制。调整垃圾回收器的设置,以提高内存管理的效率,例如,可以使用G1垃圾回收器。和增加堆内存大小外,还有一些优化策略可以帮助处理大文件。

2024-06-14 10:00:35 2227

原创 前端实现获取后端返回的文件流并下载

在前端开发中,有时需要从后端获取文件流,并将其下载到本地。本文介绍如何在前端实现此功能的不同的实现方法,并分析其优缺点。

2024-06-13 10:06:49 3582 3

原创 Springboot使用webupload大文件分片上传(包含前后端源码)

springboot、vue、webupload、mysql等在项目开发中需要上传一个非常大的文件时,单次上传整个文件往往会遇到网络不稳定、带宽限制、上传失败等问题。为了解决这些问题,文件分片上传(也称为断点续传)应运而生。分片上传的核心思想是将一个大文件分成若干份大小相等的多个小块数据块(我们称之为 Part),等所有小块文件上传成功后,再将文件进行合并成完整的原始文件。断点续传:在网络中断或其他错误导致上传失败时,只需重新上传失败的部分,而不必从头开始上传整个文件,从而提高上传的可靠性和效率。

2024-06-09 16:16:23 1649

原创 Vue如何引入ElementUI并使用

Element UI是一个基于Vue 2.0的桌面端组件库,旨在构建简洁、快速的用户界面。由饿了么前端团队开发,提供丰富的组件和工具,帮助开发者快速构建高质量的Vue应用,并且以开放源代码的形式提供。

2024-06-09 16:05:49 1150

Elasticsearch实现检索词自动补全(检索词补全,自动纠错,拼音补全,繁简转换) 包含demo

Elasticsearch实现检索词自动补全(检索词补全,自动纠错,拼音补全,繁简转换)

2023-10-15

Python 进阶(三):Python使用ORM框架SQLAlchemy操作Oracle数据库

本文主要介绍Python使用ORM框架SQLAlchemy操作Oracle数据库。 1. 安装Oracle Instant Client 2. 安装依赖库 使用以下命令来安装SQLAlchemy和cx_Oracle库: pip install SQLAlchemy pip install cx_Oracle 3.创建引擎并进行增删改查操作

2023-06-24

Springboot使用pdfbox提取PDF图片

本项目主要介绍Springboot项目通过使用PDFBox的PDFRenderer类将PDF文档转换为图像。同时会介绍在开发和使用过程中遇到的pdf转换问题和优化方案

2023-06-17

Springboot实现pdf的分片加载功能

主要是解决大体积pdf在线浏览加载缓慢,影响用户体验的问题。以及实现了分片加载后的,首次加载时自动加载了全部的pdf分片,导致浏览器报出内存不足的问题 技术栈为:SpringBoot、Vue、pdfjs 主要核心思路:前端请求时请求头附带请求范围range及读取大小,后端根据请求头返回相应的pdf文件流 适合人群:具有后端基础、并且对springboot项目有所了解的开发人员 实现效果:实现了pdf分片加载、首次加载时自动加载了全部的pdf分片,导致浏览器报出内存不足的问题和按需加载 欢迎来私信交流技术方面的问题 本人原文链接:https://blog.youkuaiyun.com/qq_29864051/article/details/130742657

2023-06-11

前端基于Vue实现pdf.js对pdf的分片加载和按需加载功能

主要是解决大体积pdf在线浏览加载缓慢,影响用户体验的问题。以及实现了分片加载后的,首次加载时自动加载了全部的pdf分片,导致浏览器报出内存不足的问题 技术栈为:SpringBoot、Vue、pdfjs 主要核心思路:前端请求时请求头附带请求范围range及读取大小,后端根据请求头返回相应的pdf文件流 适合人群:具有前端基础、并且对vue项目有所了解的开发人员 实现效果:实现了pdf分片加载、首次加载时自动加载了全部的pdf分片,导致浏览器报出内存不足的问题和按需加载 本人原文链接:https://blog.youkuaiyun.com/qq_29864051/article/details/130742657

2023-06-11

springboot集成canal-adapter实现项目中对于数据库数据监听和自定义消费

本项目是springboot集成canal-adapter实现项目中对于数据库数据监听和自定义消费 canal基于MySQL数据库增量日志解析,提供增量数据订阅和消费,是阿里开源CDC工具,它可以获取MySQL binlog数据并解析,然后将数据变动传输给下游。基于canal,可以实现从MySQL到其他数据库的实时同步 MySQL主备复制原理 MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events,可以通过 show binlog events 进行查看) MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log) MySQL slave 重放 relay log 中事件,将数据变更反映它自己的数据 canal 模拟 `MySQL slave 的交互协议`,伪装自己为 MySQL slave ,向 MySQL master 发送`dump` 协议 MySQL master 收到 `dump` 请求,开始推送` binary log `

2023-06-11

canal1.1.5版本,包含服务端、客户端、源码

主要用于访问github下载时速度过慢的使用 重点优化MQ发送的性能,单topic最高峰值可支持3~8万的rps,接近数量级上的性能提升 #2258 文档可参考:Canal-MQ-Performance MQ发送特性支持 新增rabbitmQ的MQ发送支持 #2156 支持不同topic设置不同的分区数 #2173 rocketMQ新增tag属性的定义 #3438 参数配置支持env环境变量 #3450 多语言客户端,新增Rust canal Rust客户端:[https://github.com/laohanlinux/canal-rs] 新增Adapter的自持,比如es7 新增更灵活的消息过滤能力,可以指定是否过滤Insert/Update/Delete #3452 重要优化 切换fastsql为druid 1.2.6版本,修复已知的MySQL DDL解析问题,#2168 #2766 #2828 #3428 #2954 新增database.hash的开关控制,用于满足不同业务表针对相同主键值路由到相同分区 #2248 MQ消息发送(比如Kafka/RocketMQ),修复线程池

2023-06-11

数据恢复-帮助硬盘损坏的数据备份!

数据恢复-帮助硬盘损坏的数据备份!

2022-03-22

dbforge的安装调试教程

主要用于数据库的函数和存储过程的debug,快速排除问题

2022-03-22

elasticsearch浏览器插件

用于新版本的es数据库连接

2022-03-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除