自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

转载 ElasticSearch中refresh和flush的区别

注: 部分概念介绍来源于网络一、数据写入流程1、数据写入buffer缓冲和translog日志文件中。 当你写一条数据document的时候,一方面写入到mem buffer缓冲中,一方面同时写入到translog日志文件中。2、buffer满了或者每隔1秒(可配),refresh将mem buffer中的数据生成index segment文件并写入os cache,此时index segment可被打开以供search查询读取,这样文档就可以被搜索到了(注意,此时文档还没有写到磁盘上);然后清空

2022-06-08 10:26:55 609 1

原创 ElasticSearch中Transient与Persistent的区别

注: 部分概念介绍来源于网络transient 临时:这些设置在集群重启之前一直会生效。一旦整个集群重启,这些设置就会被清除。persistent 永久:这些设置永久保存,除非再次被手动修改。是将修改持久化到文件中,重启之后也不影响。PUT /_cluster/settings{ "persistent" : { "cluster.routing.allocation.enable" : "none" //永久性关闭分片自动均衡 }, "transien

2022-05-26 15:45:40 1016

转载 串行重启ElasticSearch集群

注: 部分概念介绍来源于网络写脚本的背景:业务的需求,需要添加一个配置,然后在不影响集群的情况下重启生效(业务可以接受短暂的yellow和red)。这样我就需要在集群恢复green之后,才能重启下一台机器。脚本使用方法:脚本esrestart.sh和一个listIP列表放置es集群ip或域名。执行如下命令:sh esrestart.sh listIP#!/bin/bash#0、本脚本用于重启es集群,其中active master必须手动启动,脚本无法重启此mater#1、判断参数if

2022-05-26 15:26:42 558

原创 ElasticSearch的segment段合并原理

注: 部分概念介绍来源于网络一、简介Elasticsearch索引(elasticsearch index)由一个或者若干分片(shard)组成,分片(shard)通过副本(replica)来实现高可用。一个分片(share)其实就是一个Lucene索引(lucene index),一个Lucene索引(lucene index)又由一个或者若干段(segment)组成。所以,当我们查询一个Elasticsearch索引时,查询会在所有分片上执行,既而到段(segment),然后合并所有结果。二、

2022-05-20 09:26:30 2682

原创 ELK Stack基本原理及应用场景

注: 部分概念介绍来源于网络一、基本介绍1.1、什么是分布式日志在分布式应用中,日志被分散在储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。所以我们使用集中化的日志管理,分布式日志就是对大规模日志数据进行采集、追踪、处理。1.2、为什么要使用分布式日志一般我们需要进行日志分析场景:直接在日志文件中grep、awk就可以获得自己想要的信息。但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档、文本搜索太慢

2022-05-19 09:08:04 788

原创 ElasticSearch监控集群状态

注: 部分概念介绍来源于网络Elasticsearch集群监控状态指标分三个级别集群级别:集群级别的监控主要是针对整个Elasticsearch集群来说,包括集群的健康状况、集群的状态等。节点级别:节点级别的监控主要是针对每个Elasticsearch实例的监控,其中包括每个实例的查询索引指标和物理资源使用指标。索引级别:索引级别的监控主要是针对每个索引来说,主要包括每个索引的性能指标。一、集群级别1.1...

2022-05-17 16:00:32 1956

原创 ElasticSearch集群状态异常(Red、Yellow)原因分析

注: 部分概念介绍来源于网络一、ElasticSearch集群的三种状态:Green - 所有数据都可用,主副分片都已经分配好Yellow - 所有数据都可用,但尚未分配一些副本,不影响查询,可能影响恢复。如果集群中的某个节点发生故障,则在修复该节点之前,某些数据可能不可用。Red - 某些数据由于某种原因 存在主分片未分配,对查询会有影响二、查询索引Yellow状态原因1、查看集群的健康并显示索引状态GET /_cluster/health?level=indices{ "cl.

2022-04-20 14:43:54 5600

原创 ElasticSearch:current license is non-compliant for [security]

注: 部分概念介绍来源于网络GET /_cluster/health{ "error": { "root_cause": [ { "type": "security_exception", "reason": "current license is non-compliant for [security]", "license.expired.feature": "security" } ], "t...

2022-04-20 10:38:44 5803

原创 ElasticSearch查询大于10000条的数据

注: 部分概念介绍来源于网络在使用es进行数据查询时,由于es官方默认限制了索引一次性最多只能查询10000条数据,查询第10001条数据开始就会报错,错误的内容大致为:Result window is too large, from + size must be less than or equal to:[10000] but was [10500]. See the scroll api for a more efficient way to requestlarge data sets.

2022-04-19 14:28:39 4016

原创 Linux之正则表达式

注: 部分概念介绍来源于网络正则表达式:^ 行首 grep '^how' => how行首$ 行尾 grep 'name$' => name行尾. 除了换行符以外的任意单个字符 grep 'n..e' => name* 前导字符的零个或多个 grep 'x*y' => y,xy,xxy.* 所有字符 grep 'n.*e' => naaame[] 字符组内的任一字符 grep 'm[a-z]' => my[^] ...

2022-04-19 10:57:05 1267

原创 MySQL-Workbench数据库备份

注: 部分概念介绍来源于网络一、使用Date Export功能备份数据库DumpStructure and Data:同时备份表结构和数据;勾选Objects to Export下三个选项,备份存储过程、函数、事件和触发器。Export to Self-Contained File:备份整库到一个SQL文件中。二、异常处理内容大意为:MySQL工作台,mysqldump版本不匹配,mysqldump.exe的版本为8.0.26,但要转储的...

2022-04-15 14:07:18 11621

原创 MySQL-Workbench数据库基本操作

注: 部分概念介绍来源于网络一、连接数据库二、进入数据库三、创建数据库点击创建数据库按钮,输入数据库名称,选择编码方式,点击Apply。Workbench会自动生成SQL语句,再次点击Apply就可以成功创建数据库。四、设置默认数据库右键新建的数据库my_mysql,点击Set as Default Schema设置为此次连接的默认数据库。五、创建数据表将my_mysql下拉单展开,点击...

2022-04-15 09:14:53 23429 2

原创 windows安装MySQL详细步骤

注: 部分概念介绍来源于网络一、从官网下载安装包 https://dev.mysql.com/downloads/mysql/二、选择直接下载三、下载完之后放到磁盘里解压Windows+r打开cmd,进入到解压之后的bin目录下;初始化数据库,然后记录随机生成的密码(7?b5thG7ootK),下面登录数据库需要用到;初始化数据库命令:mysqld --initialize --consoleroot@localhost: 7?b5thG7ootK四、将m..

2022-04-13 14:24:01 34570 2

原创 Redis基础操作命令

注: 部分概念介绍来源于网络一、常用管理命令1、启动Redis#redis-server [--port 6379]如果命令参数过多,建议通过配置文件来启动Redis。#redis-server [xx/xx/redis.conf]6379是Redis默认端口号。2、连接Redis客户端#./redis-cli [-h 127.0.0.1 -p 6379 <-a password>]3、停止Redis#redis-cli shutdown#kill redis-pid

2022-04-07 17:12:41 12476

转载 IO的含义

注: 部分概念介绍来源于网络什么是IO?在计算机系统中I/O就是输入(Input)和输出(Output)的意思,针对不同的操作对象,可以划分为磁盘I/O模型,网络I/O模型,内存映射I/O, Direct I/O、数据库I/O等,只要具有输入输出类型的交互系统都可以认为是I/O系统,也可以说I/O是整个操作系统数据交换与人机交互的通道,这个概念与选用的开发语言没有关系,是一个通用的概念。现在系统都有处理大量文件,大量数据库操作,而这些操作都依赖于系统的I/O性能,也就造成了现在系统的瓶颈往往都是由

2022-03-24 11:18:55 1071

原创 Linux之sort命令详解

注: 部分概念介绍来源于网络Linux sort 命令用于将文本文件内容加以排序。sort 可针对文本文件的内容,以行为单位来排序。语法sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]参数说明:-b 忽略每行前面开始出的空格字符。-c 检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,

2022-03-14 15:45:34 4934

原创 Linux之wc命令详解

注: 部分概念介绍来源于网络Linux wc命令用于计算字数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。语法wc [-clw][--help][--version][文件...]参数:-c 或 --bytes或--chars 只显示Bytes数/字节数。-m 统计字符数,不能与-c同时使用-l 或 --lines 显示行数。-L 打印最长长度-w 或 --words 只显示字数。--

2022-03-14 10:42:06 5617

原创 Linux之uniq命令详解

注: 部分概念介绍来源于网络uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。uniq 可检查文本文件中重复出现的行列。语法uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]参数:-c 或 --count 在每列旁边显示该行重复出现的次数。-d 或 --repeated 仅显示重复出现的行列。-u 或 --unique 仅显示

2022-03-14 10:21:11 1005

原创 Linux之read命令详解

注: 部分概念介绍来源于网络简介:接收键盘或其它文件描述符的输入。read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。read 命令格式如下:#read [选项] [变量名]选项:-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。-p 后面跟提示信息,即在输入前打印提示信息。-e 在输入的时候可以使用命令补全功能。-

2022-03-11 14:11:41 6834

原创 判断输入的日期格式

输入当前的日期,判断输入的格式是否正确:[root@node1 ~]vim judge_date.sh#!/bin/bashread -p "请输入日期,格式为”xxxxxxxx:" date#判断参数if [ -z ${date} ];then echo "请重新运行脚本,并且输入日期,格式为"xxxxxxxx" exit 1fiif [ -n ${date} ];then echo ${date} | egrep -q [[:alpha:]] if [ $? -eq 0...

2022-03-11 11:19:44 1142

原创 Linux修改系统编码

注: 部分概念介绍来源于网络Windows的默认编码为GBK,Linux的默认编码为UTF-8。在Windows下编辑的中文,在Linux下显示为乱码。为了解决此问题,修改Linux的默认编码为GBK。方法如下:vi /etc/profileexport LC_ALL="zh_CN.GBK"export LANG="zh_CN.GBK"source /etc/profile运行locale指令得到当前系统编码设置的详细资料。1、 语言符号及其分类(LC_CTYPE)2、 数字(LC_NU

2022-03-11 11:14:45 2937

原创 grep:Binary file (standard input) matches

grep 'name' test.txt 时输出Binary file (standard input) matchesgrep认为这是二进制文件,解决方案:grep -a。grep -a 'name' test.txt

2022-03-07 10:49:53 199

原创 Linux之perl命令详解

注: 部分概念介绍来源于网络perl参数-a 自动分隔模式,用空格分隔$并保存在@F中,也就是@F=split //, $-F 指定-a的分隔符-l 对输入的内容进行自动chomp,对输出的内容自动加换行符-n 相当于while(<>)-e 执行命令,也就是脚本-p 自动循环+输出,也就是while(<>){命令(脚本); print;}1、基本格式:perl -参数 ‘命令' 输入文件2、perl -e为必须要写的参数3、perl -pe 可用于读取文件每行

2022-02-18 17:05:53 10840 1

原创 Linux之grep命令详解

注: 部分概念介绍来源于网络一、简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。二、grep常用用法1、grep [-acinv] [--color=auto] '搜寻字符串' filename.txt选项与参数:-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我

2022-02-18 17:05:01 28100

原创 Linux之时间格式化date

注: 部分概念介绍来源于网络date:使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]说明 : date 能用来显示或设定系统的日期和时间,在显示方面,使用者能设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :-d ..

2022-01-26 11:06:17 8795

转载 Shell中if判断

注: 部分概念介绍来源于网络Shell 语言中的if条件一、if的基本语法:if [ command ];then 符合该条件执行的语句elif [ command ];then 符合该条件执行的语句else 符合该条件执行的语句fi二、文件/文件夹(目录)判断[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。[ -d DIR ] 如果 FILE 存在且是一个目录则为真。[...

2022-01-26 09:42:26 4140

原创 Linux之tr转换或删除

注: 部分概念介绍来源于网络tr命令用于转换或删除文件中的字符。语法tr [-cdst][--help][--version][第一字符集][第二字符集] tr [OPTION]…SET1[SET2]参数说明:-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换-d, --delete:删除指令字符-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符-t, --truncate-set1:削减 S..

2022-01-25 10:52:47 294

原创 Shell字符串截取(echo)

注: 部分概念介绍来源于网络假设有变量 var=http://www.aaa.com/123.htm1. # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm2. ## 号截取,删除左边字符,保留右边字符。echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有

2022-01-25 10:42:03 1996

原创 Shell字符串截取(cut)

注: 部分概念介绍来源于网络字符串截取(cut)-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。-c :以字符为单位进行分割。-d :自定义分隔符,默认为制表符。-f :与-d一起使用,指定显示哪个区域。-n :取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;否则,该字符将被排除。-b截取字符串中的第2和第5个字节,多个定位之间用逗号隔开echo "abcdefg"|c

2022-01-24 15:30:27 4685

原创 Linux判断文件里空格是空格组成还是制表符组成

注: 部分概念介绍来源于网络判断文件里的空格到底是空格组成还是制表符组成test.txt文件内容1 2 3 41 2 3 4sed -n l test.txt输出:1 2 3 41\t2\t3\t4l是大写的L如上,如果是制表符(TAB),那么会显示为\t符号,如果是空格,就会原样显示。...

2022-01-24 15:29:18 3447 1

原创 Linux获取当前目录

注: 部分概念介绍来源于网络current_path=$(cd `dirname $0`;pwd)echo $current_pathdirname $0,取得当前执行的脚本文件的父目录cd `dirname $0`,进入这个目录(切换当前工作目录)pwd,显示当前工作目录(cd执行后的)...

2022-01-24 14:57:13 12015

原创 Shell脚本使用source命令加载配置文件

注: 部分概念介绍来源于网络配置文件内容如下config.properties:name=liage=20shell脚本内容如下:current_path=$(cd `dirname $0`;pwd)echo $current_pathsource $current_path/config.propertiesecho $nameecho $age

2022-01-24 14:53:59 1513

原创 Linux之vim基本操作用法

注: 部分概念介绍来源于网络VIM打开文件后,按下ESC键,进入命令格式:1、跳转到文件开头快捷键:gg 或者,输入 :0 或者 :1 回车2、跳转到文件结尾快捷键:shift+g 或者,输入 :$ 回车3、跳转到指定的xx行数: xxgg,如跳转到52行,则执行52gg即可。4、另外有两个方便的跳转文件开头和结尾的快捷键:即键盘上的 ‘ [ ’ 和 ' ] ' ,即左中括号和右中括号: 跳转到文件开头:按两下 左中括号键:[[ 跳转到文件结尾:按两下右中括号键:]...

2022-01-24 14:10:07 2735

原创 Shell函数中传参

注: 部分概念介绍来源于网络function restart() { date1=$1 date2=$2 echo "date1:"$date1 echo "date2:"$date2}使用如下语法来调用函数name first second函数名:restart参数1 传递给函数的第一个参数(位置参数$1)。参数2 传递给函数的第二个参数(位置参数$2)。...

2022-01-24 13:59:18 1961

原创 curl多个参数请求只收到第一个参数

注: 部分概念介绍来源于网络错误案例curl -X GET http://127.0.0.1:8000/api/model/date?name=li&pageSize=10&pageIndex=1需要在参数前加上\curl -X GET http://127.0.0.1:8000/api/model/date?name=li\&pageSize=10\&pageIndex=1...

2022-01-24 10:36:16 1992

原创 Shell中wait和sleep对比

注: 部分概念介绍来源于网络sleepsleep 1 睡眠1秒sleep 1s 睡眠1秒sleep 1m 睡眠1分sleep 1h 睡眠1小时sleep支持的时间单位有秒、分、时,默认的单位是秒。wait [作业指示或进程号]1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态。如果没有制定参数,则等待所有子进程的退出,其退出状态为0.2.如果是shell中等待使用wait,则不会等待调用函数中子任务。在函数中使用wait,则只等待函数中启动的...

2022-01-24 10:22:13 2549

原创 Shell循环读取文件

注: 部分概念介绍来源于网络方法1:while循环中执行效率最高,最常用的方法。function while_read_LINE(){while read LINEdoecho $LINEdone< $FILENAME}注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。方法2:重定向法;管道法: cat $FILENAME | while read LINEfunction While_read_LINE(){cat $FILENAME | ..

2022-01-24 09:39:12 4520

原创 Linux之expect解释器

注: 部分概念介绍来源于网络1、先安装expect,expect是一套完成自动交互任务的软件,主要命令有四个:(1).spawn:命令用来启动新的进程,spawn后的send和expect命令都是和使用spawn打开的进程进行交互(2).expect:等待命令的反馈。(3).set timeout命令:set timeout n命令将expect命令的等待超时时间设置为n秒,在n秒内还没有获取到其期待的命令,expect 为false,脚本会继续向下执行;timeout -1 为永不超时(4).

2022-01-24 09:29:08 742

原创 Linus之sshpass工具来自动输入密码

注: 部分概念介绍来源于网络sshpass的设计就是为了使用非交互的场景下输入ssh连接的密码;其中-p是直接指定密码,-f是从文件中读取密码;实例1:直接远程连接某台主机:命令:sshpass -p mima ssh root@127.0.0.1实例2:本地执行远程机器的命令:命令:sshpass -p mima ssh root@127.0.0.1 "sh /home/test.sh"实例3:远程连接指定ssh的端口:(当远程主机不是默认的22端口时候)命令:sshpass -p mi

2022-01-07 15:08:25 976

原创 Linux之shell脚本的运行方式

注: 部分概念介绍来源于网络一、通过文件名执行shell脚本可以直接通过文件名执行,需要注意的是文件需要执行权限。通过 sudo chmod +x ./file_name.sh 来给文件添加执行权限;二、指定脚本解释器来执行文件我们常用的 sh file_name.sh 就是指定了脚本解释器 /bin/sh来解释执行脚本;常见的脚本解释器还有:/bin/bash等,我们可以使用ls -l /bin/*sh命令来查看当前可用的脚本解释器;三、使用. ./file_name.sh或source命

2022-01-07 14:56:10 1681

空空如也

空空如也

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

TA关注的人

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