自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (9)
  • 收藏
  • 关注

原创 java.util.Arrays$ArrayList cannot be cast to com.github.pagehelper.Page

使用工具类转换方法convertToPageResult的时候直接传入了对应的List结集合,在执行Pagepage=(Page)result;Page强转的时候报错。将初始化一个Page对象,然后将对应的集合传入Page对象中,然后调用convertToPageResult方法传入page里的集合对对象就可以使用了。...

2022-07-28 14:47:21 4200 1

原创 【DockerFile生成镜像报错】failed to read dockerfile

问题一docker版本使用打包镜像的命令,使用下面的命令就出出现了下面的异常docker image build -t hello .异常信息如下:failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkitmount926830533/Dockerfile: no such file or directory造成这个问题的原因看了官方的

2022-04-22 22:07:26 23404

原创 Spring Boot Bean解析

Bean解析一、IOC思想1.IOC思想如下图我们有四个零件来保证我们装置的正常运行,换成Java的语言表达就是四个对象,ObjectA依赖ObjectB,ObjectB依赖ObjectC,ObjectC依赖ObjectD,通过这样的协作关系来完成我们程序的运行,这样子就需要我们在一个类中定义另外一个类,早些的时候我们是手动new一个对象出现2.举例说明假设有一个animal类有两个实现Dog和Cat,如果我们要使用Dog就需要在我们的类里直接new一个Dog出来,但是之后我们突然要将我们的动物

2022-04-01 11:36:49 745

原创 Unable to load authentication plugin ‘caching_sha2_password‘

Mybatis反向生成报错一、报错内容如下Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.5:generate (default-cli) on project seckill: Unable to load authentication plugin 'caching_sha2_password'.二、原因(可以直接看解决方式,改原因纯属猜测,后期找文档查原因)1、数据库中的mys

2021-05-11 18:55:08 1658

原创 JVM入门和实战

JVM入门和实战一、JVM的介绍1、JVM是什么1.JVM(Java Virtual Machine):Java程序的运行环境(Java虚拟机)2.所谓的虚拟机是指:通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的计算机系统3.JVM是通过软件来模拟Java字节码的指令集(物理机上是CPU来执行指令集),是Java程序的运行环境2、JVM的概述开发过程1.编写Java源代码即对应的.java文件2.通过Java编译器如javac命名和一些IDE工具将,把.java文件编

2021-03-03 18:23:06 531

原创 Elasticsearch的集群介绍和搭建和集群脑裂现象探讨以及集群的读写原理

Elasticsearch的集群介绍和搭建和集群脑裂现象探讨以及集群的读写原理介绍:正常情况下,单机es可以用,但是我们还是需要关注下高可用,一般我们可以把es搭建成集群,2台以上就能成为es集群了。集群不仅可以提升系统的稳定性还能能实现海量数据存储的横向扩展。一、elasticsearch集群搭建规则1.例如我们现在有5个主分片,每个主分片还对应有一个备用分片,我们有三台服务器,部署的方式如下图,同样序号的分片不能再同一个服务器上,例如:服务器3挂了,但是服务器1和服务器2还是能够组成0,1,2,3

2020-11-21 11:02:51 216

原创 elasticsearch的mget的批量查询和bulk的批量新增和批量更新以及批量删除

elasticsearch的批量查询一、使用mget批量获取1.通过mget实现批量查询,并且可以通过found字段返回的数据判断数据是否存在,如果返回false则表示数据不存在,返回true则表示数据存在POST 192.168.1.117:9200/sell/_doc/_mget{ "ids": ["1001", "1003", "10015"]}二、使用bulk批量操作数据bulk官方文档基本语法bulk操作和以往的普通请求格式有区别。不要格式化json,不然就不在同一

2020-11-18 22:44:38 793 1

原创 Elasticsearch的深度分页

Elasticsearch的深度分页查看篇博客可以先查看下elasticsearch的DSL搜索方便理解:传送门接描述一、深度分页分析1.深度分页:(from:9999;size:10) 第9999后面的10条数据的话就会报错,因为es最大深度是支持搜索到底10000条数据,这个:index.max_result_window字段控制的,默认是10000条数据POST 192.168.1.117:9200/sell/_doc/_search{ "query": { "match_al

2020-11-18 21:25:33 537

原创 Elasticsearch的DSL搜索

Elasticsearch的DSL搜索一、数据准备1.创建对应的索引库2.给索引库创建对应的映射POST 192.168.1.117:9200/sell/_mapping{ "properties": { "id": { "type": "long" }, "age": { "type": "integer" }, "username": { "type": "keyword" // 该字段不会被分词,如果需要查询输入的内容必须和字段内容一致 }

2020-11-17 22:51:46 253

原创 Elasticsearch的内置分词器和IK分词器的安装和使用

Elasticsearch的内置分词器和IK分词器什么是分词?把文本转换为一个个的单词,分词称之为analysis。es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体。一、Elasticsearch的内置分词器POST 192.168.1.117:9200/_analyze{ "analyzer": "whitespace", "text": "Hi LiMei How are you, I am fine, and you"}es内置分词器stand

2020-11-14 22:13:56 343

原创 通过乐观锁解决在并发情况下对elasticsearch进行增删改操作的并发问题

通过乐观锁解决在并发情况下对elasticsearch进行增删改操作的并发问题官网文档:传送门1.老版本是通过version进行管控,本人现在使用的 elasticsearch-6.4.3,这个版本是通过_seq_no和_primary_term进行管控的2.我们对下面的的数据进行修改,需要如下请求POST 192.168.1.117:9200/my_doc/_doc/1?if_seq_no=0&if_primary_term=1{ "_index": "my_doc",

2020-11-14 21:03:40 199

原创 通过PsotMan给Elasticsearch的索引库创建映射和创建对应文档进行增删改查的操作

通过PsotMan给Elasticsearch的索引库创建映射1.给es常见映射PUT 192.168.1.117:9200/index_mapping{ "mappings": { "properties": { "realname": { "type": "text", // 字段类型 "index": true // 是否被索引,如果为true就会被索引,会被查询到,为false则不会被查询到 }, "username": { "type

2020-11-14 18:18:46 532

原创 head与postman基于索引的基本操作 for elasticsearch

head与postman基于索引的基本操作 for elasticsearch1.可以阅读完下面两篇博客再来阅读该文档安装elasticsearch到linux服务器安装es-header插件2.es-head的复合查询,请求的连接为我们安装了es的虚拟机IP,这个返回的数据和我们在浏览器上获取的一致3.使用postman访问es服务器:请求安装了es的虚拟机IP返回的数据一致4.通过es-head创建索引5.创建完成可以在概览中查看6.集群健康值查询,再次创建索引库并为他们创建对应的

2020-11-14 16:16:13 241

原创 安装 es-header插件并解决对应的跨域问题

安装 es-header插件源码地址:传送门1.下载源码后如果要运行es-header还需要下载node.js,因为我们下载的es-header是一个前端的源码如果需要使用就必须安装node.jsnode.js下载地址:传送门2.下载完成后就傻瓜式安装,一直next,安装完成后打开命令窗口,输入下面的命令验证是否安装成功node -vnpm -v3.进入到 elasticsearch-head-master 源码目录下4.安装es-headernpm install5.启动 e

2020-11-14 11:40:09 1234

原创 安装elasticsearch到linux服务器

安装elasticsearch到linux服务器1.将 elasticsearch-7.4.2-linux-x86_64.tar.gz 压缩压缩包上传到linux服务器上并解压tar -zxvf elasticsearch-7.4.2-linux-x86_64.tar.gz2.将解压出来的文件转移到local目录下mv elasticsearch-7.4.2 /usr/local3.在文件目录下创建一个data文件夹,用于存放索引库的相关内容,之后需要进行配置mkdir data

2020-11-08 22:33:25 385

原创 Elaticsearch介绍以及集群搭建

Elaticsearch以及集群介绍es的官网地址:传送门一、Elasticsearch 核心术语1、核心概念ES -> 表索引 index -> 表文档 document -> 行(记录)字段 fields -> 列映射 mapping -> 表结构定义近实时 NRT -> Near real time 当有新数据增加的时候,es获取大数据提供给用户使用的时差只有 1秒左右节点 node -> 每个服务器2、集群相关分片(shard

2020-11-08 20:05:25 894

原创 Redis缓存穿透和缓存雪崩以及解决方法

Redis缓存穿透以及解决方法一、缓存穿透1.当用户查询的key在redis中不存在,对应的id在数据库也不存在,此时被非法用户进行攻击,大量的请求会直接打在db上,造成宕机,从而影响整个系统,这种现象称之为缓存穿透。2.解决方案一:把空的数据也缓存起来,比如空字符串,空对象,空数组或list,代码如下if (list != null && list.size() > 0) { redisOperator.set("subCat:" + root

2020-10-27 22:04:22 21514 3

原创 Redis集群搭建

Redis集群搭建一、Reids集群1.因为单个节点的Redis的存储容量是有限的,所以我们可以进行水平扩展,成为一个多主多从的集群,同属也增加容错性2.就是我们设置了哨兵模式后,容错会比较低,几个例子:当我们的主节点写入了新的数据,在将数据通过给slave的时候突然宕机了,然后从节点就没有接收到主节点传来的新数据,当宕机的主节点恢复后,他就会变成从节点,而他在宕机前没有将数据同步给slave(他宕机后slave就会变成主节点),而当她恢复后主节点同步给他的数据没有那个新增的数据,导致数据丢失3.下

2020-10-26 22:57:25 109 1

原创 使用EasyExcel报错:Found interface org.apache.poi.util.POILogger, but class was expected

原因:jar包冲突1.项目中引入了easyexcel,在使用的时候直接报下面的错com.alibaba.excel.exception.ExcelGenerateException: Can not close IOCaused by: java.lang.IncompatibleClassChangeError: Found interface org.apache.poi.util.POILogger, but class was expected2.原因是因为项目中已经引入了easypoi

2020-10-26 15:33:18 10696 5

原创 Redis 哨兵机制与实现

Redis 哨兵机制与实现一、当没有设置哨兵机制1.redis主从之前是通过ping来检查对方是否存活,当从节点挂机,主节点会直接将其剔除,当主节点挂掉的时候,从节点这里会显示主节点状态为 down,不会重新选举出来新的主节点,此时我们只有从节点在工作了,所以现在我们只能做读的操作,不能进行写操作了(因为我们在配置文件中设置了从节点的 read-only)二、哨兵机制1.配置哨兵机制,其实就是让第三方介入,当我们的主节点挂掉后,他就会为我们选举出一个新的主节点来提供服务,配置哨兵之后欧他就会监控我

2020-10-25 20:30:01 252

原创 Redis缓存过期机制

Redis缓存过期机制一、给Redis设置过过期时间的key,过期后有下面两种处理方式1.(主动)定期删除他会定时去抽查我们随机的key,时间默认是1秒10次,如果抽查到的key是已经过期的就会被删除2.(被动)惰性删除当过期的key被请求到的时候,我们redis才会被动的去检测下这个key有没有过期,如果过期了就会把它从内存中删除二、内存淘汰管理机制1.MEMORY MANAGEMENT最大的阈值maxmemory,当内存超过这个之后就会去清理我们那些没有设置过期时间的key2.

2020-10-24 21:51:02 353

原创 Redis主从原理介绍以及配置和无磁盘化复制介绍

克隆后到这里修改地址: vi /etc/udev/rules.d/70-persistent-ipoib.rules

2020-10-24 21:15:09 241

原创 安装与配置 Redis

安装与配置 Redis下载下载地址:传送门选择下载稳定版本,不稳定版本可以尝鲜,但是不推荐在生产使用。将Redis上传到Linux上安装 Redis1.解压redis:tar -zxvf redis-5.0.5.tar.gz得到:2.安装gcc编译环境,如果已经安装过了,那么就是 nothing to doyum install gcc-c++3.进入到 redis-5.0.5 目录,进行安装:make && make install执行完毕后安装成

2020-10-09 22:03:27 78

原创 LVS介绍及配置

LVS 负载均衡1.Linux Virtual Server2.章文嵩博士主导的开源的负载均衡项目3.LVS(ipvs)已被集成到Linux内核中LVS官网地址:传送门为什么要使用 LVS + Nginx1.LVS基于四层,工作效率高2.单个 Nginx 承受不了压力,需要集群3.LVS 充当 Nginx 集群的调度者4.Nginx 接受请求来回,LVS 可以只接受不响应当浏览器发送请求时通过nginx进行分配到对应的服务器,当有结果返回也会通过nginx返回给浏览器当浏览器

2020-10-08 14:48:10 1151

原创 实现keepalived双主热备配置

实现keepalived双主热备1.双热主备:给两台nginx配上虚拟IP,用户请求通过DNS轮询方式分发请求到不同的虚拟IP,不同的虚拟IP绑定不同的Nginx服务器,161虚拟IP和nginx的ip171绑定,172位备用机,162虚拟IP和172绑定,171位备用机,现在就是不存在主备关系了,每台都是主节点也是备用机规则:以一个虚拟IP分组归为同一个路由主节点配置:global_defs { # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一 route

2020-10-07 16:57:44 221

原创 Keepalived配置Nginx自动重启

当Nginx因异常停止不会切换到Keepalived的备用机,所以需要配置一个脚本1.增加Nginx重启检测脚本vim /etc/keepalived/check_nginx_alive_or_not.sh#!/bin/bashA=`ps -C nginx --no-header |wc -l`# 判断nginx是否宕机,如果宕机了,尝试重启if [$A -eq 0 ];then /usr/local/nginx/sbin/nginx # 等待一小会再次检查nginx,如果没有启动成功

2020-10-07 15:33:37 87

原创 Keepalived核心配置文件

Keepalived核心配置文件global_defs { # 路由id:当前安装keepalived的节点主机标识符,保证全局唯一 router_id keep_88}vrrp_instance VI_1 { # 表示状态是MASTER主机还是备用机BACKUP state MASTER # 该实例绑定的网卡(可以使用 ip addr 执行查看) interface enp0s3 # 虚拟路由Id,保证主备节点一致即可 virtual_r

2020-10-07 14:32:50 198

原创 在Linux环境下Keepalived安装部署

Keepalived安装部署1.软件下载地址:点击下载2.通过ftp工具上传到linux中,/home/software(我存放软件的位置)ftp工具下载地址:点击下载3.解压tar -zxvf keepalived-2.0.18.tar.gz4.解压后进入到解压出来的目录,看到会有configure,那么就可以做配置(配置安装和nginx一模一样)5.使用 configure 命令配置安装目录与核心配置文件所在位置:./configure --prefix=/usr/local/

2020-10-07 13:39:24 272

原创 在Linux环境下Nginx解决跨域问题

Nginx解决跨域问题跨域问题1.当我们在同一个站点请求时,是不存在什么问题的,但是当我们从一个站点想另外一个站点访问的时候就会出现跨域问题,现状如图b1-1解决跨域问题(CORS跨域资源共享)1.Cross-Origin Resource Sharing(跨域资源共享)2.允许浏览器向跨Origin的服务器发起js请求获取响应3.Jsonp、SpringBoot Cors、NginxNginx的解决方案1.在nginx.conf中配置文件中的server指令块下面配置以下内容,之后就可

2020-09-29 23:06:13 2635

原创 Nginx配置文件内容即指令讲解

Nginx配置文件内容一、查看配置文件内容一、打开配置文件的命令1.cd /usr/local/nginx/conf(虚拟机上nginx的配置文件目录)2.vi nginx.conf(打开配置文件)二.配置文件的内容// 这个大括号就代表了一个server server { listen 80; // 1.用于监听80端口 server_name localhost; // 2.请求的IP,如果是在Linux系统上可以通过localh

2020-09-29 22:28:13 590

原创 Nginx的日志切割

Nginx的日志切割Nginx的日志切割一、目的1.随着时间的推移,日志文件中的内容会越积越多,可能达到几T的情况,我们查看起来十分不方便,所以我们这里需要对日志做一个切割二、切割具体步骤1.创建一个shell可执行文件:cut_my_log.sh,内容为#!/bin/bashLOG_PATH="/var/log/nginx/"RECORD_TIME=$(date -d “yesterday” +%Y-%m-%d+%H:%M)PID=/var/run/nginx/nginx.pidmv

2020-09-27 22:12:42 207

原创 Nginx启动不了的问题

Nginx启动不了的问题一、nginx.pid打开失败1.问题截图如下2.解决方案1.看上面的问题截图是因为/var/run/nginx/nginx.pid文件不存在2.我们可以使用下面的命令进行创建mkdir /var/run/nginx3.再重启之前先输入下面的指令确认配置文件是否正常./nginx -t4.之后再nginx的sbin目录下输入下面的指令重启./nginx -s reload二、PID无效1.问题截图如下5.这次使用下面的命令查看帮助文档./n

2020-09-26 22:31:32 4298

原创 Linux环境下安装Nginx步骤及注意事项

Linux环境下安装Nginx一、去官网下载对应的nginx包,推荐使用稳定版本http://nginx.org/en/download.html二、上传nginx到linux系统上三、安装依赖环境1.安装gcc环境yum install gcc-c++2.安装PCRE库,用于解析正则表达式yum install -y pcre pcre-devel3.zlib压缩和解压缩依赖yum install -y zlib zlib-devel4.SSL 安全的加密的套接字协

2020-09-19 19:57:28 312

原创 本地数据库连接ECS上的数据库报错

本地数据库连接ECS上的数据库报错报错截图一、原因1.是因为远端数据库未进行授权,默认是不让别的服务器进行访问,使用下面的命令进行赋权,就可以正常连接了grant all privileges on . to ‘root’@’%’ identified by ‘root’;2.flush privileges...

2020-09-18 20:55:39 175

原创 安装MariaDB的异常

安装MariaDB的异常// 官方安装文档https://mariadb.com/kb/en/mariadb-installation-version-10121-via-rpms-on-centos-7/yum install rsync nmap lsof perl-DBI ncrpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpmrpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpmrpm -qa | grep mariadb

2020-09-18 20:49:20 1231 1

原创 SpringBoot无法启动,而且没有报错

SpringBoot无法启动,而且没有报错问题现状原因分析在处理spring-boot-starter-web依赖的时候排除了内置Tomcat,忘记注掉了解决方案将exclusions中的内容注释掉然后通过使用maven的插件clean然后install就可以正常启动了...

2020-09-06 21:51:44 1244

visualvm_206

VisualVM is distributed as a standalone tool here and bundled with the GraalVM. Both are the same bits with the same features. Standalone tool runs on any compatible JDK, bundled tool is configured to run using the host GraalVM. VisualVM has also been distributed in Oracle JDK 6~8 as Java VisualVM

2021-02-19

jmc-7.1.2_windows-x64.zip

使用JMC可以监视和管理 Java 应用程序,不会导致相关工具类的大幅度性能开销,它使用为 Java 虚拟机 (JVM) 的普通自适应动态优化收集的数据。

2021-02-19

logstash-7.4.2.zip

Logstash是es的一种插件,可以将数据库中的数据获取出来导入到es索引库中,是一个十分方便的工具,在现在是市面上使用十分广泛

2020-11-22

elasticsearch-analysis-ik-7.4.2.zip

IK分词器在是一款 基于词典和规则 的中文分词器。本文讲解的IK分词器是独立于elasticsearch、Lucene、solr,可以直接用在java代码中的部分。关于如何开发es分词插件,后续会有文章介绍。

2020-11-14

node-v14.15.0-x64.msi

Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具! Node.js 在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使 Node.js 表现得非常出色。 Node.js 应用程序运行于单个进程中,无需为每个请求创建新的线程。 Node.js 在其标准库中提供了一组异步的 I/O 原生功能(用以防止 JavaScript 代码被阻塞),并且 Node.js 中的库通常是使用非阻塞的范式编写的(从而使阻塞行为成为例外而不是规范)。

2020-11-14

elasticsearch-7.4.2-linux-x86_64.tar.gz

Elastic 为全球范围内数以千计的公司(从初创企业到全球 2000 强企业)打造搜索解决方案,帮助他们搜索文档、监测基础设施、保护企业免受安全威胁,不一而足。

2020-11-08

redis-5.0.5.tar.gz

性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

2020-10-08

FileZilla FTP Client.zip

FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。可控性、有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP客户端工具,而FileZilla Server则是一个小巧并且可靠的支持FTP&SFTP的FTP服务器软件。

2020-10-07

keepalived.zip

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2020-10-06

空空如也

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

TA关注的人

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