自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 es实战-数据备份snapshot

灾备相关知识点RPO: 最多可能丢失的数据的时长,即我们可以将数据恢复到什么时候,并且越接近现在(崩溃/丢失点)越好。RTO: 从灾难发生到整个系统恢复正常所需要的最大时长。好的RPO实现: 频繁增量备份好的RTO实现: 加快从快照恢复数据速度ES snapshot 注意事项可在kibana的Snapshot and Restore功能模块进行操作不同快照间为增量式快照(节约时间空间),且删除一个快照不会影响其他快照SLM策略和集群执行保留策略是两个配置可以手动执行策略测试可以moni

2022-03-01 16:32:58 2203

原创 官方文档-恢复快照

对应8.0官方文档路径:Snapshot and restore » Restore a snapshot官方地址如下:https://www.elastic.co/guide/en/elasticsearch/reference/8.0/snapshots-restore-snapshot.html恢复快照本章节主要展示如何恢复一个快照。快照是在集群外部存储数据备份最便捷的方式,你可以在删除或硬件故障后通过快照恢复索引和数据流,你还可以使用快照在集群之间传输数据。在本章节,你将学会以下

2022-02-22 17:09:53 1240

原创 官方文档-创建快照

对应7.17官方文档路径:Snapshot and restore » Create a snapshot官方地址如下:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/snapshots-take-snapshot.html创建快照本章节主要展示如何制作正在运行的集群的快照,之后便可以通过恢复快照 API 恢复或者传输数据。在本章节,你将学会一下内容:使用快照生命周期管理(SLM)自动创建和保留快照手动拍摄快照监控快

2022-02-22 11:04:22 1586

原创 官方文档-快照和恢复

对应7.17官方文档路径: Snapshot and restore官方地址如下:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/snapshot-restore.html快照和恢复快照是正在运行的 ES 集群的备份,你可以使用快照做以下事情:定期备份集群,无需停机在删除数据或者硬件故障后恢复数据在集群之间传输数据在 cold 和 frozen 数据层通过可搜索快照降低存储成本##快照工作流程ES 将快照存储在集

2022-02-22 11:02:38 1608

原创 es实战-使用IK分词器进行词频统计

本文主要介绍如何通过 IK 分词器进行词频统计。使用分词器对文章的词频进行统计,主要目的是实现如下图所示的词云功能,可以找到文章内的重点词汇。后续也可以对词进行词性标注,实体识别以及对实体的情感分析等功能。词频统计服务具体模块如下:**数据输入:**文本信息**数据输出:**词 - 词频(TF-IDF等) - 词性等内容**使用的组件:**分词器、语料库、词云展示组件等**功能点:**白名单,黑名单,同义词等现存的中文分词器有 IK、HanLP、jieba 和 NLPIR 等几种,不同分词器各

2021-12-14 14:23:39 3184 1

原创 官方文档-丰富你的数据-Enrich示例

对应7.16官方文档路径: Ingest pipelines » Enrich your data » Example: Enrich your data xxx官方地址如下:https://www.elastic.co/guide/en/elasticsearch/reference/7.16/geo-match-enrich-policy-type.html在创建 enrich policy 时需要指定enrich policy type,用来明确采用何种方式将 enrich data 匹配到传入

2021-12-13 17:23:58 1315

原创 官方文档-丰富你的数据

对应7.16官方文档路径: Ingest pipelines » Enrich your data官方地址如下:https://www.elastic.co/guide/en/elasticsearch/reference/7.16/ingest-enriching-data.html注:enrich 为 pipeline processor 的一种,主要作用是将现有索引数据加入到你传入的文档中。Enrich 你的数据你可以使用 enrich processor 在 ingest 阶段将现存索引的

2021-12-10 15:51:41 1379

原创 es实战-收集Nginx日志可视化监控

需求场景: ES 集群通过 Nginx 做了网关代理,需要把访问 ES 集群的请求进行统计监控。使用组件: Filebeat 收集,写入 ES 集群,通过 Kibana 的 dashboard 进行展示,即 ELK 的老本行,采用更轻量级的日志收集工具 Filebeat 而没有使用 Logstash。1. Nginx对 Nginx 默认的日志格式进行了微调,将默认的$time_local修改为$time_iso8601,日志变化如下所示:#before171.0.0.1 - - [11/Nov/2

2021-11-25 15:56:55 4897

原创 es实战-数据入库详解refresh,flush,translog

由于这部分内容涉及到很多 Lucene 和操作系统等内容,个人理解可能不到位或者有误,还请各位看客指出存在的问题,不吝赐教1. 重要知识点1. refresh:当我们向ES发送请求的时候,我们发现es貌似可以在我们发请求的同时进行搜索。而这个实时建索引并可以被搜索的过程实际上是一次es 索引提交(commit)的过程,如果这个提交的过程直接将数据写入磁盘(fsync)必然会影响性能,所以es中设计了一种机制,即:先将index-buffer中文档(document)解析完成的segment写到file

2021-10-15 17:28:28 1279

原创 es实战-深入内存以及熔断

在 ES 生产环境中,性能问题一直是各厂商最头疼的问题,而其中的痛点就是内存相关。ES 作为当前搜索引擎市场的 No.1,其显著特点就是检索速度非常快。之所以 ES 检索速度快,离不开其底层的合理存储结构以及对内存的充分利用,其中包括大量的缓存。由于 ES 和其底层依赖的 Lucene 均为内存的使用大户,在生产环境中经常会遇到一些内存相关的问题以及想要优化的欲望,本文主要浅析 ES 内存使用情况和其自带的内存保险——熔断机制。首先我们会分析一些生产环境中遇到的内存相关问题;然后我们会从 JVM 层面以及

2021-10-11 18:49:18 5397

原创 官方文档-数据管理

对应7.13官方文档路径: Data management官方地址如下:https://www.elastic.co/guide/en/elasticsearch/reference/7.13/data-management.html数据管理存储在 ES 中的数据大体分为两种类型:文本内容:需要搜索的数据集合,例如产品列表时间序列数据:连续产生的带有时间戳的数据流,例如日志信息文本内容可能需要频繁的更新,但是文本内容的价值随时间的推移相对稳定。你想要的是快速取回它们而不管它们是多么古老的数

2021-09-28 15:16:12 345

原创 ES 结合 Python 库进行人脸识别

参考链接:ES 官方播客 from Yacine Younes 以及 刘晓国 大佬在 ES 百人大作战一期发布的 4.2.4 章节**前期准备:**Python3 环境、CMake、dlib 库和 face_recognition 等,还需要了解 ES 的向量类型,可以参考本人另一篇文章ES 向量检索 dense_vector 类型需要用到的类和数据很简单,如下图所示:getVectorFromPicture.py 负责将 images 文件内的照片(四人照片)调用 face_recognitio

2021-09-07 15:24:02 425

原创 ES 向量检索 dense_vector 类型

ES 7.X 版本引入了向量类型dense_vector,用于存储浮点类型的密集向量,其最大维度为2048。其用作是可以将待查询向量和文档内存储向量之间的距离作为查询评分使用,即越相似的向量评分越高。使用方式为在 query 的script_score中指定向量的计算方式,具体有四种:cosineSimilarity – 余弦函数dotProduct – 向量点积l1norm – 曼哈顿距离l2norm - 欧几里得距离创建含有dense_vector的索引用于测试,建表如下:PUT c

2021-09-06 17:27:32 4953 2

原创 Flink 消费 Kafka 分区顺序性问题

1. kafka分区数据顺序性kafka具有分区内数据有序的特点,可以通过将数据指定到特定的分区来实现数据的顺序性。kafka分区逻辑代码如下:如果指定了分区号生产,则发送到指定分区;否则调用分区器计算方法partitioner.partition()private int partition(ProducerRecord<K, V> record, byte[] serializedKey, byte[] serializedValue, Cluster cluster) { In

2021-08-30 14:41:46 3668 4

原创 es实战-rebalance功能及源码解析

rebalance tasks在es集群里面的表现形式:通过调用 GET _cat/tasks?v API返回结果中 action 为 internal:index/shard/recovery/start_recovery(不仅仅是rebalance)判断shards移动状况:通过调用 GET _cat/recovery?v API返回结果中 type 为 peer;source_node 和 target_node 可以看出分片移动的方向;stage可以看出移动进行到哪一步: INIT-&g.

2021-08-27 17:37:05 1559

原创 es文档版本控制

GET test1/_doc/1可以获取如下信息:"_index" : "test1","_type" : "_doc","_id" : "1","_version" : 5,"_seq_no" : 20797327,"_primary_term" : 2,"found" : true,..._version:文档版本,每次更新文档时递增。_seq_no:配置给文档的序列号用来进行索引操作,用于确保文档的旧版本不会覆盖新版本。_primary_term:配置给文档的主term用来进

2021-08-25 14:22:50 962

原创 query_string和minimum_should_match歧义问题

1. query_string针对索引不存在字段的处理逻辑变化:如下DLS:语义为查询此字段(索引内不存在)不包含柔的文档。{ "size": 1, "track_total_hits": true, "_source": "text_content", "profile": "true", "query": { "query_string": { "analyzer": "ik_max_word", "query": """(NOT("柔"))"""

2021-08-24 11:11:24 451 1

原创 es存储文件分析

观察es数据目录内会发现大量文件如下图所示:其中重要的有如下几个,存储三大头:文件后缀文件含义.fdt文档存储的字段值.fdx文档索引指针,需载入内存.fnm存储fields信息.dvddocValues值.dvmdocValues原信息.doc包含每个term词频的docs列表即倒排表.posindex中term出现的位置信息.timterm词典,存储term信息.tipterm词典的索引,需载入内存segm

2021-08-20 17:29:57 1464

原创 es实战-Space

本文收录至《Elastic Stack 实战手册》,欢迎和我一起解锁开发者共创书籍,系统学习 Elasticsearch1. Space简介Space 功能可以将 Kibana 划分为多个工作空间,并基于权限控制使不同的用户看到不同的工作空间。空间可管理的对象包含 Dashboards 等可视化内容以及 Kibana 自带的标签页功能如 Dev 和 Monitoring 等。Space 功能默认自动开启,且会自动创建 Default 空间,当创建了其他空间之后,登录 Kibana 时会要求你选择工作

2021-08-20 14:05:01 274

原创 es实战-Monitoring原理讲解及kibana可视化实战

实战结合官方文档进行学习效果更佳,可以参考本人另一篇简书-官方文档-监控集群(Monitor)翻译。Monitoring学习方法:在官方文档与源码阅读基础之上进行实战操作。1 Monitoring原理讲解Monitoring是elastic stack的监控模块,可以用来监控ELKB,监控信息存在es索引中,并且可以通过kibana进行可视化的展示。(收集监控数据的方式从6.5版本起由Collectors-Exporters模式逐步迁移到使用Metricbeat进行收集。)a 官方文档学习任何模块

2021-08-20 14:03:54 2098

原创 es实战-分片分配失败解决方案

分片分配失败的原因线上集群突然断电或者使用了kill -9 pid进行集群关闭磁盘信道损坏使用了错误的配置(小问题,排查副本/分片路由等配置即可)排查解决方案查看未分配的原因GET /_cluster/allocation/explainGET _cat/indices?v&health=redGET /_cat/shards?v&h=n,index,shard,prirep,state,sto,sc,unassigned.reason,unassigned.deta

2021-08-20 14:02:34 3360

原创 入门大数据组件

Google三驾马车,大数据基石:GFS:存储->hdfsMapReduce:分析->hadoopBigtable:查询->hbase(基于GFS结构化存储OLAP: olap:联机分析处理;oltp:联机事务处理MOLAP:预处理,预计算,查询快,不灵活ROLAP:不需要预处理,查询灵活,查询性能不好HOLAP:当查询聚合性数据的时候,使用MOLAP 技术;当查询明细数据时,使用 ROLAP 技术。1. 数仓:ODS -> DW(DM) -> APP

2021-08-20 14:00:36 111

原创 es实战-加载性能优化

本文主要讨论es加载速度的优化,有些优化会导致部分功能及数据安全性丧失,需要理性使用。网络中大部分的性能优化方案基本源于官网,如下位置:以下优化包含但不限于官方文档:整体写入操作影响因子:1. indice相关设置{ "settings": { "number_of_shards": n,//分片尽量设置多一些,能提高加载速度 "number_of_replicas": 0,//副本设置为0,丧失数据安全性 "refresh_interval": "-1",//刷新

2021-08-19 16:56:30 1999

原创 es实战-查询性能优化

本文主要讨论es查询速度的优化。网络中大部分的性能优化方案基本源于官网,如下位置:1. 文档进行建模避免使用nested和parent child类型尽量先计算再将计算结果存储进es尽量使用filter context查询结合profile api分析查询慢的问题严禁使用*开头的terms查询谨慎使用通配符匹配和agg聚合避免terms过多,成百上千2. 定期对不再更新的索引做force merge段数目太多会带来较大的麻烦。1.消耗资源:每一个段都会消耗文件句柄、内存和cpu运行

2021-08-19 16:55:03 1721

原创 es实战-开机自启动

1.编写es启停脚本,如下:注意替换es目录(/home/caster/elasticsearch-7.9.3)以及es启动用户(es)#!/bin/bashsource /etc/profilecase "$1" instart) su es<<! cd /home/caster/elasticsearch-7.9.3 ./bin/elasticsearch -d! echo "elasticsearch startup" ;;stop)

2021-08-19 16:53:35 1361

原创 es实战-集群规划实践

1. Linux系统关闭交换分区,防止内存置换降低性能。将/etc/fstab 文件中包含swap的行注释掉sed -i ‘/swap/s/^/#/’ /etc/fstabswapoff -a单用户可以打开的最大文件数量,可以设置为官方推荐的65536或更大些echo “* - nofile 655360” >> /etc/security/limits.conf单用户线程数调大echo “* - nproc 131072” >> /etc/security/limi

2021-08-19 16:52:59 168

原创 es实战-7.9源码编译

在macos上使用idea编译elasticsearch7.9源码idea通过git导入源码直接通过idea导入git项目,不需要去github下载到本地再自行使用gradle编译,idea可以帮助你快速构建如果idea一直卡在下载gradle-xx-all.zip,可以自行手动下载后放入本地gradle环境,如下图所示:当下载的zip被idea解压成功就会显示解压后的文件夹和.ok文件导入成功后需要将gradle使用的jdk设置为高版本,同时也检查下idea java compiler和pr

2021-08-19 16:51:59 432 3

原创 Elastic Certified Analyst 认证考点介绍

1. ECA考试介绍ECA指elastic公司于2020年6月推出的elastic certified analyst认证考试,主要考察考生对kibana的驾驭能力。报考方式及考试注意事项:官网注册报名 ,缴费PSI系统预约时间考试(注意选择时区),远程在线考试提前15分钟进PSI系统配合监考官检查环境和监考官打字聊天,需要共享桌面语音和摄像头可以使用google翻译,和监考官商量,进去桌面直接浏览器输入谷歌翻译网址即可,也建议使用chrome自带的翻译工具考试系统web界面上有一排

2021-08-19 16:39:24 344

原创 Elastic Certified Engineer 认证考点介绍

1. ECE考试介绍ECE指elastic公司于2018年6月29号推出的elastic certified engineer认证考试。报考方式及考试注意事项:考试版本自2021年7月1日起,由7.2升级为7.13官网注册报名 ,缴费PSI系统预约时间考试(注意选择时区),远程在线考试提前15分钟进PSI系统配合监考官检查环境和监考官打字聊天,需要共享桌面语音和摄像头可以使用google翻译,和监考官商量,进去桌面直接浏览器输入谷歌翻译网址即可,也建议使用chrome自带的翻译工具

2021-08-19 16:34:01 748

原创 Elastic Certified Engineer 德国博士题目

elasticsearch认证工程师考试必备练习题,难度较考试大一些原题连接:https://kreuzwerker.de/en/post/elastic-certified-engineer-exam-deploy-and-operate-a-cluster题库提供者:建议先看题目,自己做一遍。部分解答和题目需求一致但数据可能不同,如解答逻辑有问题,望批评指正#1. 安装配置集群##Exercise1定义集群名字定义三个节点名字所有节点配置为eligible master将节

2021-08-19 16:28:45 225

原创 spark查询hive的简单应用

使用原因:sparksql应用集群内存,查询更快使用方法:编写代码逻辑,使用spark-submit提交到yarn上执行简单代码示例: 核心思想就是编写查询sql,然后对获取到的df数据集再进行逻辑处理,转存object Main extends Logging{ def main(args: Array[String]): Unit = { //第一个参数:处...

2019-07-11 15:11:07 2308

原创 elasticsearch集群部署,yml配置文件参数配置

1. jvm配置: 1.1内存配置(推荐第一种) 编辑:config/jvm.options 修改:-Xms20g -Xmx20g 编辑:bin/elasticsearch 加上:export ES_HEAP_SIZE=10g 1.2配置独立的jdk: 修改bi...

2019-07-11 14:54:38 3676

原创 python交互式脚本

用于es生成ssl认证证书:安装pexpect,ptyprocess模块编写脚本使用pexpect[root@master bin]# vim python.sh#!/usr/bin/env pythonimport pexpectdef main(): c1 = pexpect.spawn('./elasticsearch-certutil ca') c1....

2019-07-11 14:03:31 783

原创 kafka flume 相关操作

kafka: 启动kafka: ./kafka-server-start.sh -daemon ../config/server.properties & 新建topic: ./kafka-topics.sh --create --zookeeper 172.16.17.212:2181 --replication-factor 2 --pa...

2019-07-11 13:54:45 95

原创 es分片分配功能reroute

一个es的节点只能存一个分片的主分片或者某一个副本分片,如图所示:分片数字相同代表为同一个分片的不同副本,当设置副本数超过节点数,则会有副本不会被分配移动分片命令可以将未分配的分片分配到指定节点:commands包括以下几种:主分片move,副本allocate_replica,空分片allocate_empty_primary等分片的分配将索引test3的分片1从2节点移动到1...

2019-07-11 10:29:59 5738 2

原创 es滚动查询scroll

1.restfu查询方式:首先设置滚动查询并设置超时时间curl -H "Content-Type: application/json" -u root:111111 -XPOST '172.16.17.212:9201/t3/_search?pretty&scroll=1m' -d '{"sort":"t1"}'返回的结果会带有这次滚动查询的scroll_id用于接下来的...

2019-07-11 10:13:48 1984

转载 throwable 和 exception

https://blog.csdn.net/hl_java/article/details/76837141

2019-04-03 16:37:44 181

原创 java 定时器线程ScheduledExecutorService

初始化:可以指定单个线程池和多个线程池 ScheduledExecutorService executorService= Executors.newSingleThreadScheduledExecutor(); ScheduledExecutorService executorService= Executors.newScheduledThreadPool(2);schedu...

2019-04-02 16:56:29 437

原创 elasticsearch idea编译源码

Edit configuration:-Des.path.conf=C:\Users\caster\Desktop\elasticsearch-6.5.4\home\config-Des.path.home=C:\Users\caster\Desktop\elasticsearch-6.5.4\home-Dlog4j2.disable.jmx=true-Djava.security.po...

2019-03-07 18:00:40 326

原创 elasticsearch6+集群节点间SSL认证配置

参考文章:https://blog.csdn.net/zk673820543/article/details/817815341.bin目录下运行elasticsearch-certgen: 依次输入生成cert.zip的文件名,节点信息和IP,会在当前目录生成一个zip压缩包2.config目录下新建cert文件夹,将压缩包解压到文件夹会发现ca文件和各个节点密匙文件夹3....

2019-03-07 16:04:02 3015 1

空空如也

空空如也

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

TA关注的人

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