- 博客(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
5257
原创 【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
29525
原创 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
830
原创 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
1810
原创 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
774
原创 Elasticsearch的集群介绍和搭建和集群脑裂现象探讨以及集群的读写原理
Elasticsearch的集群介绍和搭建和集群脑裂现象探讨以及集群的读写原理介绍:正常情况下,单机es可以用,但是我们还是需要关注下高可用,一般我们可以把es搭建成集群,2台以上就能成为es集群了。集群不仅可以提升系统的稳定性还能能实现海量数据存储的横向扩展。一、elasticsearch集群搭建规则1.例如我们现在有5个主分片,每个主分片还对应有一个备用分片,我们有三台服务器,部署的方式如下图,同样序号的分片不能再同一个服务器上,例如:服务器3挂了,但是服务器1和服务器2还是能够组成0,1,2,3
2020-11-21 11:02:51
280
原创 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
971
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
852
原创 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
304
原创 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
422
原创 通过乐观锁解决在并发情况下对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
283
原创 通过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
653
原创 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
318
原创 安装 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
1349
原创 安装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
618
原创 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
973
原创 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
21633
3
原创 Redis集群搭建
Redis集群搭建一、Reids集群1.因为单个节点的Redis的存储容量是有限的,所以我们可以进行水平扩展,成为一个多主多从的集群,同属也增加容错性2.就是我们设置了哨兵模式后,容错会比较低,几个例子:当我们的主节点写入了新的数据,在将数据通过给slave的时候突然宕机了,然后从节点就没有接收到主节点传来的新数据,当宕机的主节点恢复后,他就会变成从节点,而他在宕机前没有将数据同步给slave(他宕机后slave就会变成主节点),而当她恢复后主节点同步给他的数据没有那个新增的数据,导致数据丢失3.下
2020-10-26 22:57:25
141
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
11819
5
原创 Redis 哨兵机制与实现
Redis 哨兵机制与实现一、当没有设置哨兵机制1.redis主从之前是通过ping来检查对方是否存活,当从节点挂机,主节点会直接将其剔除,当主节点挂掉的时候,从节点这里会显示主节点状态为 down,不会重新选举出来新的主节点,此时我们只有从节点在工作了,所以现在我们只能做读的操作,不能进行写操作了(因为我们在配置文件中设置了从节点的 read-only)二、哨兵机制1.配置哨兵机制,其实就是让第三方介入,当我们的主节点挂掉后,他就会为我们选举出一个新的主节点来提供服务,配置哨兵之后欧他就会监控我
2020-10-25 20:30:01
348
原创 Redis缓存过期机制
Redis缓存过期机制一、给Redis设置过过期时间的key,过期后有下面两种处理方式1.(主动)定期删除他会定时去抽查我们随机的key,时间默认是1秒10次,如果抽查到的key是已经过期的就会被删除2.(被动)惰性删除当过期的key被请求到的时候,我们redis才会被动的去检测下这个key有没有过期,如果过期了就会把它从内存中删除二、内存淘汰管理机制1.MEMORY MANAGEMENT最大的阈值maxmemory,当内存超过这个之后就会去清理我们那些没有设置过期时间的key2.
2020-10-24 21:51:02
419
原创 Redis主从原理介绍以及配置和无磁盘化复制介绍
克隆后到这里修改地址: vi /etc/udev/rules.d/70-persistent-ipoib.rules
2020-10-24 21:15:09
327
原创 安装与配置 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
115
原创 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
1249
原创 实现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
277
原创 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
118
原创 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
287
原创 在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
317
原创 在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
2934
原创 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
726
原创 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
254
原创 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
4452
原创 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
377
原创 本地数据库连接ECS上的数据库报错
本地数据库连接ECS上的数据库报错报错截图一、原因1.是因为远端数据库未进行授权,默认是不让别的服务器进行访问,使用下面的命令进行赋权,就可以正常连接了grant all privileges on . to ‘root’@’%’ identified by ‘root’;2.flush privileges...
2020-09-18 20:55:39
234
原创 安装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
1420
1
原创 SpringBoot无法启动,而且没有报错
SpringBoot无法启动,而且没有报错问题现状原因分析在处理spring-boot-starter-web依赖的时候排除了内置Tomcat,忘记注掉了解决方案将exclusions中的内容注释掉然后通过使用maven的插件clean然后install就可以正常启动了...
2020-09-06 21:51:44
1367
visualvm_206
2021-02-19
jmc-7.1.2_windows-x64.zip
2021-02-19
elasticsearch-analysis-ik-7.4.2.zip
2020-11-14
node-v14.15.0-x64.msi
2020-11-14
elasticsearch-7.4.2-linux-x86_64.tar.gz
2020-11-08
redis-5.0.5.tar.gz
2020-10-08
FileZilla FTP Client.zip
2020-10-07
keepalived.zip
2020-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人