自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch进阶篇(三):ik分词器的使用与项目应用

本文详细介绍了在Elasticsearch中安装、配置和使用IK分词器的过程。首先,它提供了两种安装方式:使用已编译的包文件或者源代码编译。然后,说明了如何将分词器安装到Elasticsearch中,并启动Elasticsearch来验证安装是否成功。接下来,介绍了IK分词器提供的两种主要分词模式:细粒度分词模式(ik_max_word)和智能分词模式(ik_smart),并展示了它们的使用示例。最后,它详细解释了IK分词器的配置文件作用,包括主要的配置文件和自定义词库的使用方法,并提供了相关的参考链接

2024-04-21 20:01:31 653

原创 Java使用aspose-words实现word文档转pdf

相比较与使用openoffice需要安装并且需要引入多个jar文件,使用aspose只需要一个jar文件即可,而且转换之后排版不混乱

2024-04-10 17:19:34 842

原创 Java使用OpenOffice将office文件转换为PDF

OpenOffice: OpenOffice是一套跨平台的办公室软件套件,功能非常强大,适用windows、linux、mac等各大平台,简单来说Office能做到的OpenOffice也基本都能做到。JODConverter: 是一个Java的OpenDocument文件转换器,可以进行许多文件格式的转换。它依赖于OpenOffice.org或者LibreOffice提供的服务来进行转换,它能将Microsoft Office文档(Word,Excel,PowerPoint)转换为PDF格式。

2024-04-10 16:45:10 1291

原创 MySQL 8.x 高可用集群之MGR(组复制)

以上文档概述了 MySQL 集群部署的过程,包括修改主机名、关闭 SELinux、安装 MySQL、移除系统自带的 MariaDB、下载安装文件、启动 MySQL 并修改密码、开启防火墙端口、修改 MySQL 配置文件、创建复制账号、安装 MGR 插件等步骤。接着介绍了在单主模式下启动 MGR 集群,包括执行 MySQL 操作、验证主从数据同步和读写操作、测试主从数据库宕机等步骤。然后讲解了如何整合 MySQL Router 实现读写分离,包括安装和配置 MySQL Router等

2024-03-26 10:49:28 1132

原创 canal问题记录:something goes wrong when doing authentication: auth failed for user:

部署了1.15服务端 canal.deployer-1.1.5 用于监听mysql的binlog日志,同时在项目中集成了canal client,用于在监听到指定数据表变化时自定义写入es。服务端配置:客户端配置:报错信息如下:问题分析这个错误表明在 Canal 客户端的身份验证过程中发生了问题,导致用户 “test” 的身份验证失败,从而无法连接到 Canal 服务器。但是服务端和客户端的账户密码是一致的,不应该会有此问题。下载源码进行debug,可以看到传入的参数是进行过加密的,并且把服务端的

2024-03-18 14:28:01 231

原创 Elasticsearch进阶篇(二):Elasticsearch查询原理

本文档深入探讨了Elasticsearch的查询原理,包括单个ID查询文档和多个ID查询文档的流程。在搜索查询方面,通过两阶段查询,首先在各个分片拷贝中搜索匹配的文档标识符,然后在协调节点合并结果并获取完整文档。此外,全文检索的执行流程也得到了详细解释,从分析器处理查询词到构建查询语法树、匹配文档、评分和排序等步骤,分析其复杂的工作流程。

2024-03-16 18:23:37 753 1

原创 Elasticsearch进阶篇(一):Elasticsearch写入原理深入详解

本篇详细介绍了 Elasticsearch 的写入原理。首先,解释了 Elasticsearch 中索引、分片和分段的概念,并通过图示展示了它们之间的关系。然后,深入探讨了写入操作的过程,包括 refresh、flush 和 commit 操作的含义和执行流程。最后,通过步骤拆解,描述了数据写入的整体流程,包括负载均衡、数据写入主分片、副本复制等步骤。整体内容详实清晰,有助于理解 Elasticsearch 的写入机制

2024-03-12 15:00:46 1447

原创 SpringBoot+PDF.js实现按需分片加载预览(包含可运行示例源码)

本文的解决方案旨在解决大体积PDF在线浏览加载缓慢、影响用户体验的难题。通过利用分片加载技术,前端请求时附带range及读取大小信息,后端据此返回相应的PDF文件流。这种方式有效地减轻了服务器和浏览器的负担,提升了加载速度和用户体验。同时解决了首次加载全部分片导致浏览器内存不足的问题。技术栈:Spring Boot、Vue和pdf.js。

2024-02-24 14:18:46 1893 15

原创 mysql启动报错:本地计算机上的 MySQL8服务启动后停止 [InnoDB] Upgrade is not supported after a crash or shutdown

windows服务器蓝屏重启后启动mysql报错:本地计算机上的 MySQL8服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止,日志信息如下```2024-02-21T02:17:46.975546Z 1 [ERROR] [MY-012526] [InnoDB] Upgrade is not supported after a crash or shutdown with innodb_fast_shutdown = 2. This redo log was created with MyS

2024-02-21 11:01:20 541

原创 解决:Java 8 date/time type `java.time.LocalDate` not supported by default

报错原因是在序列化对象时涉及到 Java 8 的日期/时间类型 java.time.LocalDate,但默认情况下 Jackson 不支持这种类型。要解决这个问题,可以添加 Jackson 模块 “com.fasterxml.jackson.datatype:jackson-datatype-jsr310”,以启用对 Java 8 日期/时间类型的支持。在 Maven 项目中pom.xml 文件中添加以下依赖。

2024-01-24 09:39:48 1305

原创 Elasticsearch基础篇(八):常用查询以及使用Java Api Client进行检索

该指南详细介绍了用户检索需求和测试环境搭建。从建立 Elasticsearch 字段、索引和映射,到执行查询操作,覆盖了主键查询、全量查询、分页查询、排序查询、全文检索等多种操作。最后,指南展示了如何在 Spring 项目中集成 Elasticsearch,包括创建项目、引入依赖、配置客户端类,并使用 Java API Client 进行索引创建、文档保存和检索。这一全面指南旨在协助读者更深入理解 Elasticsearch,并在 Spring 项目中高效应用查询和索引功能。

2024-01-22 14:38:04 1324 1

原创 Apache JMeter 5.6.3压力测试步骤详解

执行测试执行测试任务,并查看结果,包括聚合报告等性能指标。非GUI模式测试通过命令行进行非GUI模式测试,生成测试报告。使用CSV对于一个接口测试不同参数使用CSV数据文件设置元件,通过不同的参数进行接口测试,例如不同账号登录、不同ID调用接口等。提供了Apache JMeter的安装步骤、性能测试指标解释以及详细的测试任务创建和执行步骤。

2024-01-17 17:23:39 2047

原创 Apache JMeter 3.1压力测试监控服务器数据(cpu、内存、磁盘io等)

下载完成后解压客户端的两个文件,进入路径JMeterPlugins-Extras\lib\ext,JMeterPlugins-Standard\lib\ext,复制JmeterPlugins-Extras.jar,JmeterPlugins-Standard.jar两个文件,放到JMeter客户端的${jmeter-home}\lib\ext下面。**输出文件夹的路径:**手动创建存放报错的文件夹的路径,需要提前创建,每次运行前必须清空,否则会报错。**测试JMX文件:**测试用的.jmx文件路径。

2024-01-17 17:19:16 1675

原创 Elasticsearch基础篇(七):分片大小修改和路由分配规则

这样设计可以提高系统的可用性和容错性,因为数据的多个副本分布在不同的节点上,即使某个节点发生故障,系统仍然可以继续工作。副本分片是主分片的完整复制,位于不同的节点上。主分片的数量是索引创建时固定的,因为这个值与数据的分布和索引结构有关。每个索引都被划分成若干个主分片,每个主分片都是一个独立的索引。往索引中增加100条数据,文档分布如下:三个主分片的文档数量正好为100,随着文档数量的增加,三个主分片的数量会越来越均衡。在完成重新索引后,将应用中的写操作切换到新的索引,确保新数据写入新的索引。

2024-01-12 10:34:49 2148 5

原创 Python使用SQLAlchemy操作sqlite

Python使用SQLAlchemy操作sqlite:sqllite的介绍和常用的sql语句,python使用SQLAlchemy集成sqlite

2023-11-12 17:14:43 1446 2

原创 HeidiSQL数据库管理工具使用教程

HeidiSQL(HeidiSQL数据库管理工具)是一个开源的数据库管理工具,通常用于连接和管理关系型数据库系统。它提供了一个用户友好的图形用户界面,允许数据库管理员、开发人员和数据分析师轻松地执行各种数据库操作。

2023-10-25 09:13:42 6286 6

原创 Elasticsearch基础篇(六):es映射和常用的字段类型

在 Elasticsearch 中,映射是索引的关键组成部分,它定义了文档的结构和字段。每个文档都包含一个或多个字段,而映射定义了这些字段的数据类型、如何分析文本、字段是否可搜索等信息。映射的主要作用包括:定义字段类型:你可以指定字段是文本、数字、日期、地理位置等数据类型。文本分析:决定如何对文本字段进行分析,例如拆分为单词、去除停用词、转换大小写等。字段是否存储:你可以设置字段是否需要存储原始值,以便在检索时使用。索引选项:控制字段是否被索引,以及如何索引

2023-10-23 16:56:48 1727

原创 Elasticsearch基础篇(五):创建es索引并学习分析器、过滤器、分词器的作用和配置

本文主要介绍es与mysql的类比来更容易理解es库、索引、文档、字段之间的关系,通过对官方文档和实际创建索引的分析,使得更容易创建满足需求的索引

2023-10-18 17:45:04 821

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

下面的请求定义了一个名为 “book” 的 Elasticsearch 索引,其中包含一个 具有 “text” 数据类型和 “standard” 分析器且名为 “title” 的字段。此字段用于处理书籍标题的文本数据。定义了名为 “suggest” 的 “completion” 子字段,用于支持实时搜索建议的自动补全功能。

2023-10-15 16:57:00 1674

原创 网络安全渗透测试工具AWVS14.6.2的安装与使用(激活)

Acunetix Web Vulnerability Scanner(AWVS)是一款用于检测网站和Web应用程序中安全漏洞的自动化工具。它的主要功能包括:漏洞扫描:AWVS能够自动扫描目标网站和Web应用程序,以发现各种安全漏洞,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等。它可以检测一系列漏洞,并对它们进行分类和评级。自动化检测:该工具使用自动化技术来模拟攻击者的行为,以便发现漏洞,而无需手动测试每个潜在的漏洞点。本文包含安装包和补丁。

2023-10-12 14:26:31 1459 1

原创 Elasticsearch基础篇(四):Elasticsearch的基础介绍与索引设置

这里说到的全文搜索引擎指的是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文检索的应用场景检索的数据对应是大量的非结构化的文本型数据文件的记录量至少是十万以上级别支持交互式文本的全文检索查询对于检索结果的相关性具有较高的要求,且检索的实时性要求很高。

2023-10-10 21:44:23 1216

原创 Linux下kibana的安装与配置

确保Linux服务器上已安装Java 8或更高版本。可以通过运行来验证Java的版本。下载Kibana 7.17.11的压缩文件,可以从下载上传服务器,并解压Kibana压缩文件。

2023-10-10 21:01:20 3884 1

原创 Linux系统切换用户后只显示$问题解决

# 使用vim编辑vim /etc/passwd# 对应的用户,注意修改为bashes:x:1001:1001::/home/es:/bin/bash# 修改后点击esc,输入:wq保存并退出

2023-10-10 20:54:06 416

原创 Elasticsearch基础篇(四):Elasticsearch7.x的官方文档学习(Set up Elasticsearch)

在 Elasticsearch 中,存在一些敏感设置,不能仅仅依赖文件系统权限来保护其值。为了解决这个问题,Elasticsearch 提供了一个密钥库(keystore)以及工具来管理这些敏感设置。

2023-10-03 17:15:27 2015

原创 Elasticsearch基础篇(三):Elasticsearch7.x的集群部署

本文将深入探讨Elasticsearch集群的架构和部署,包括主节点、数据节点、客户端节点、分片以及节点间的通信方式。当新的数据被索引时,数据节点会将数据分配给相应的分片,并将分片存储在本地磁盘上。如果数据节点发生故障,集群中的其他节点会接管该节点的工作,确保数据的可用性和冗余备份。当Elasticsearch集群中的节点发生故障时,主节点会自动将故障节点从集群中移除,并将分配给该节点的分片重新分配给其他节点。其中,host是节点所在的主机名,uuid是一个唯一的标识符,用于确保节点名称的唯一性。

2023-10-01 10:47:00 1999

原创 Elasticsearch基础篇(二):Elasticsearch在windows和liunx上的安装部署

基于官方给出的几种不同环境不同的安装方式,本文将会选择在使用.zip文件在Windows上安装Elasticsearch在Linux或macOS上从存档文件安装ElasticsearchInstall Elasticsearch with Docker (此种方式待定)使用Docker安装Elasticsearch。

2023-09-29 16:42:14 3372 2

原创 shell脚本学习教程(一)

Shell 是一个计算机操作系统中的命令行界面(CLI),它允许用户与操作系统进行交互,并执行各种任务和操作。Shell 还是一种脚本编程语言,允许用户编写脚本来自动化任务和执行一系列命令在 Linux 和 Unix 操作系统中,Shell 是用户与操作系统内核之间的中间层,它接受用户输入的命令,并将这些命令传递给内核执行。用户可以通过键盘输入命令,然后 Shell解释和执行这些命令。Shell 还负责处理输入和输出、环境变量、文件操作等。

2023-09-17 17:18:32 1606

原创 MySQL8.0.28数据库在windows版本下运行宕机问题解决

MySQL8.0.28数据库在windows2022服务器上运行,使用Navicat执行数据备份或者是在并发量较高的情况下会自行宕机。简单来说就是8.0.28本身数据库的bug,在8.0.29版本已经修复,建议使用8.0.34版本

2023-09-01 14:53:39 1096

原创 windows环境下安装配置gitblit服务端,解决服务启动失败: Failed creating java ServiceStart returned 1问题

本文主要介绍gitblit的安装配置,和解决服务启动报错问题1. 检查是否SET ARCH的位数是否与自己计算机一致2. 右击gitblitw.exe以管理员方式运行,去掉Use default勾选,然后选择自己的jdk下的jvm.dll文件,点击应用确定

2023-08-09 21:39:49 1028 2

原创 Windows环境下通过 系统定时 执行脚本方式 压缩并备份文件夹 到其他数据盘

windows环境下通过使用脚本对于需要备份的文件夹进行定时压缩,然后复制到其他数据盘或网络位置。执行结果可以通过企业微信等通知到个人

2023-08-08 20:01:35 1563

原创 Centos7安装jdk8教程——rpm安装

本文主要介绍在centos7下使用rpm方式安装jdk

2023-08-06 14:03:55 849

原创 windows下载安装nvm并使用安装node

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

2023-07-26 11:01:12 1327 3

原创 Java设计模式—软件设计原则和七大常用的设计模式

设计模式是软件开发中常见问题的解决方案,它们是经过验证的并且经常被重复使用的设计模板。设计模式提供了一套通用的解决方案,帮助开发人员构建高质量、可维护和可扩展的代码。设计模式并不是特定于某种编程语言,而是面向对象编程范式的通用原则

2023-07-23 22:51:46 576

原创 Elasticsearch Dump的详细安装和迁移es索引和数据的使用教程

如果希望将数据导出到本地文件而不是通过编程方式处理,可以考虑使用Elasticsearch的导出工具,如(Elasticdump)或。

2023-07-04 20:31:16 4394 2

原创 MySQL报错解决:Error writing file ‘/tmp/XXXX‘ (Errcode: 28 - No space left on device)

MySQL报错 “Error writing file ‘/tmp/XXXX‘ (Errcode: 28 - No space left on device)” 表明在写入文件时,临时目录(tmpdir)请注意,这些路径是MySQL 8的默认设置,但实际的tmpdir路径可能因你在MySQL配置中的特定设置而有所不同。在MySQL 8中,默认的临时目录(tmpdir)路径取决于操作系统的不同。如果确定可以清理空间,可以直接清理空间(删除时注意rm命令的使用,别tm删错了)连接到MySQL数据库。

2023-07-03 22:09:00 8002 2

原创 Elasticsearch基础篇(一):Elasticsearch简介

本篇将介绍Elasticsearch是什么,了解Elasticsearch是如何成为分布式搜索和分析引擎的核心,以及它如何处理索引、搜索和分析数据。同时还分享一些学习Elasticsearch的方法和资源, 能够快速的学习和上手完成工作需要。同时为了提升自己对于英文文档的学习的阅读能力,本文会大量引用官方文档的英文原文。Elasticsearch是一个开源的分布式搜索和分析引擎,它构建在搜索库之上。它被设计用处理大规模数据集并提供实时搜索和分析功能。Elasticsearch具有高可用性、可扩展性和容错。

2023-06-28 22:25:02 782 2

原创 Linux通过crontab定时执行脚本任务

在Linux中可以使用crontab来定时执行脚本。crontab是一个用于管理定时任务的工具,可以让在特定的时间间隔内自动运行脚本或命令。需求: 在Linux中每分钟写入一条信息到指定文件中,使用cron来定期执行一个写入命令或脚本。

2023-06-26 14:22:02 10673

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

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

2023-06-24 23:30:32 2826 2

原创 Python 进阶(二):Python使用ORM框架peewee操作MySQL数据库

Windows MySQL8.0免安装版,配置多个安装实例Peewee是一个简单而灵活的Python ORM(对象关系映射)框架,它提供了方便的接口和工具,用于在Python应用程序中进行数据库操作。Peewee支持多种数据库后端,包括MySQL、SQLite、PostgreSQL等,使得在不同数据库系统之间进行切换变得更加容易。使用Peewee进行数据库操作,需要定义数据表的模型类。每个模型类对应数据库中的一张表,并定义表中的字段以及其他相关属性。在上述示例中,定义了一个名为User。

2023-06-24 13:58:59 2307

原创 Python 进阶(一):Python连接MySQL数据库和CRUD操作

本文基于MySQL8.x版本的学习,python版本基于当前最新的3.xWindows MySQL8.0免安装版,配置多个安装实例。在Python 3中,可以使用`mysql-connector-python`库来连接和进行CRUD(创建、读取、更新和删除)操作。以下是Python 3和MySQL 8.x版本的连接和基本操作的示例代码:

2023-06-24 11:01:11 1484

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.csdn.net/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关注的人

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