- 博客(30)
- 收藏
- 关注
原创 Elasticsearch 数据迁移与任务状态相关 API
Reindex API说明本文所述命令,皆基于 ES_V5.4.2 版本。参考 ES 官方说明文档:https://www.elastic.co/guide/en/elasticsearch/reference/5.4/docs-reindex.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/5.4/tasks.html基本形式POST _reindex{ "source": { "index": "sour
2020-05-22 10:50:03 2073
原创 僵尸索引 Dangling indices
现象集群有3个索引分片无法分配,查看原因:{ "index": "brock**********************000_7", "shard": 0, "primary": true, "current_state": "unassigned", "unassigned_info": { "reason": "DANGLING_INDEX_IMPORTED", "at": "2020-05-05T22:32:38.904Z", "last_allo
2020-05-20 16:08:59 1917
原创 采集 Elasticsearch 火焰图
背景有个 ES 集群,业务写数入集群时经常导致集群 CPU 告警和集群端口响应超时(20s无响应),故希望通过采集火焰图分析原因。工具选择ArthasIntroductionArthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?...
2020-05-07 23:07:55 1296
原创 根据索引状态文件定位索引名称
背景 生产上有个 olap 集群,因业务特殊性,导致集群中索引数和索引分片数特别多,集群元数据信息特别庞大,通过 _cat/indices,_cat/shards命令去获取索引信息时耗时会特别长,可能导致集群卡顿,影响业务查询、写入,而且会返回超时。针对返回超时,解决方案是直接在 Linux 机器上,通过 curl 命令,将结果写入到文件里。eg:curl -XGET http://i...
2020-05-04 17:34:37 340
原创 ES-Commands
说明对一些常用的或在官网文档中不易找到的 ES 命令,做个简单整理,方便查找,想起时再做更新和维护。Ps:大多命令为基于 5.4.2 版本 ES 集群。Commands索引缩容(减少主分片数)es-5.4 官方文档 : https://www.elastic.co/guide/en/elasticsearch/reference/5.4/indices-shrink-index.h...
2020-05-04 15:43:26 337
原创 ES配置文件之日志-log4j2.properties
说明仅以此文简单介绍下ES配置文件中,如何配置日志文件。配置文件中各参数含义,可查看文章:log4j2 常用配置介绍ES安装路径:/home/es/software/elasticsearchES日志配置文件路径:/home/es/software/config/es-xxx[es集群名称]/log4j2.propertiesES版本:V_5.4.2ES日志类型:集群日志、慢日...
2020-05-04 14:47:12 5960
原创 log4j2 常用配置介绍
log4j2 常用配置介绍Maven 依赖 <!-- Log Start --> <!-- 方便本地调试可以使用log4j做日志适配,日志输出统一使用Slf4j门面进行输出,需要将log4j配置文件放到class path --> <!--用于与slf4j保持桥接--> <dependen...
2020-05-04 11:49:25 636
原创 磁盘故障导致索引无法恢复处理流程
磁盘故障导致索引无法恢复处理流程ES集群版本:V_5.4.2translog 损坏如因磁盘故障,导致索引translog损坏而无法恢复,此时可通过清空索引translog的方式恢复索引,但translog中未刷盘的数据会丢失(索引历史数据不会丢失,一般来说,至多只会丢失当天数据)。查看未分配分片原因// 按照state状态正序排序,state一致时按照 prirep 正序排序// 获取...
2020-04-27 19:09:45 2247 1
原创 Elasticsearch 时区问题
背景:业务正常通过应用程序写入没有问题,通过hive同步mysql到es库的时候会出现时区问题,mysql时间字段类型是datetime;原因:ES默认存储的是UTC时间,比北京时间晚8h;解决方案: 1、将时间写入ES中string类型字段; 2、将时间以时间戳的形式存入ES中long类型字段; 3、ES默认是UTC时间,将时间+8h后存入ES中date类型字段...
2020-04-27 17:35:02 1674
原创 ES : Can't get text on a START_OBJECT at 1.225
pre 环境,批量更新,遇到错误 : "Can't get text on a START_OBJECT at 1:225"无法解析字段 pushDetail 。mapping 中 pushDetail 字段是keyword 类型,所有应该传字符串类型的数据。业务传的是 json 格式的数据,故报此错。 解决方案:1、修改 pushDetail 字段 mapping ...
2019-01-29 11:11:21 14012
原创 ES 问题 : too_many_clauses maxClauseCount is set to 1024
如果bool查询的查询条件过多会导致 TooManyClauses问题:"caused_by":{"type":"too_many_clauses","reason":"maxClauseCount is set to 1024"}}}],"caused_by":{"type":"query_shard_exception",&quo
2019-01-29 11:05:00 13482 1
原创 Elasticsearch权威指南 部分知识点总结整理
声明:本博客根据《ES权威指南》内容总结整理而成,转载请注明出处:https://blog.csdn.net/qingmou_csdn time_outtime_out 值告诉我们查询超时与否。一般的,搜索请求不会超时。如果响应速度比完整的结果更重要,你可以定义 timeout 参数为10 或者10ms(10毫秒),或者1s(1秒)GET /_search?timeout=10m...
2018-07-19 15:13:39 1601
原创 Elasticsearch 自定义分析器 analyzer API 查看文本内容如何被分析
声明:本博客根据《ES权威指南》内容总结整理而成,转载请注明出处:https://blog.csdn.net/qingmou_csdn Elasticsearch内置了一系列分析器,但是ES支持自定义分析器。通过在配置文件中组合字符过滤器,分词器和表征过滤器可以满足特定数据的要求。分析器是三个顺序执行的组件的结合(字符过滤器、分词器、表征过滤器) 字符过滤器(char_fi...
2018-07-17 23:58:54 3077
原创 Elasticsearch 滚动获取数据 Scroll参数
声明:本博客根据ES官方文档6.3版本内容翻译总结整理而成,转载请注明出处:https://blog.csdn.net/qingmou_csdn 前期准备:创建索引、写入数据DELETE gaoyhPUT gaoyh{ "settings": { "number_of_shards": 1, "number_of_replicas": 0 }, "m...
2018-07-17 23:23:47 6006
翻译 ElasticSearch 6.3版本 Document APIs之Reindex API
Reindex API声明:本文根据ES官方文档进行翻译与总结而得。转载请注明作者:https://blog.csdn.net/qingmou_csdn注意:Reindex不会尝试设置目标索引。它不会复制源索引的设置。您应该在运行_reindex操作之前设置目标索引,包括设置映射,分片计数,副本等。最基本的形式_reindex只是将文档从一个索引复制到另一个索引。如将gaoyh索引中的文档复制到t...
2018-07-13 21:54:25 2174
原创 ElasticSearch 6.3版本 Document APIs之Bulk API
Bulk API声明:本文根据ES官方文档进行翻译与总结而得。转载请注明作者:https://blog.csdn.net/qingmou_csdn批量API使得在单个API调用中执行许多索引/删除操作成为可能。这可以大大提高索引速度DELETE gaoyhPOST _bulk{"index":{"_index":"gaoyh","_type":"test","_id":"1
2018-07-13 21:44:32 601
翻译 ElasticSearch 6.3版本 Document APIs之Update By Query API
Update By Query API最简单的用法是_update_by_query在不更改源的情况下对索引中的每个文档执行更新。这对于获取新属性或其他一些在线映射更改很有用 。这是API:POST twitter/_update_by_query?conflicts=proceed_update_by_query在索引启动时获取索引的快照,并使用internal版本控制索引它。这意味着如果文档在...
2018-07-12 23:00:13 595
翻译 ElasticSearch 6.3版本 Document APIs之Multi Get API
Multi GET API允许基于索引,类型(可选)和id(以及可能的路由)获取多个文档。响应包括一个docs数组,其中所有获取的文档按顺序对应于原始的多重获取请求(如果特定获取失败,则包含此错误的对象将包含在响应中)。成功获取的结构在结构上类似于get API 提供的文档。GET / _mget { “docs”:[ { “ _ index...
2018-07-12 22:58:43 209
转载 Elasticsearch 5.4 Mapping详解
声明:本博客根据ELasticsearch官网文档翻译整理,转自:http://blog.csdn.net/napoay 前言一、Field datatype(字段数据类型)1.1string类型1.2 text类型1.3 keyword类型1.4 数字类型1.5 Object类型1.6 date类型1.7 Array类型1.8 bina...
2018-07-12 00:44:59 1541
翻译 ElasticSearch 6.3版本 Document APIs之Update API
Update APIUpdate API允许基于提供的脚本更新文档。该操作从索引获取文档(与分片并置),运行脚本(使用可选的脚本语言和参数),并对结果进行索引(也允许删除或忽略操作)。它使用版本控制来确保在“get”和“reindex”期间没有发生更新。注意,此操作仍然意味着文档的完全重新索引,它指示删除了一些网络往返,并减少了get和索引之间版本冲突的可能性。_source需要启用该字段才能使此...
2018-07-11 23:49:00 1062
原创 ElasticSearch 6.3版本 转移索引分片
创建一个索引test:PUT test{ "settings":{ "number_of_shards":1, "number_of_replicas":0 }}获取索引test所在分片ip:GET _cat/shards/test?v响应结果如图所示:将索引test转移到新的分片:PUT /test/_settings{ "routing":{ "all...
2018-07-09 22:00:46 1282
原创 Elasticsearch 6.3版本 查询某索引下文档数量等信息
想要查询某集群下已存在的索引、文档数量,占用存储空间大小等信息,可使用如下命令:GET _cat/indices?v响应结果如图所示:返回的结果从左到右依次包括:pri(主分片数)、rep(副分片数)、docs.count(索引现有文档数)、docs.deleted(索引删除文档数)、store.size(索引总大小)、pri.store.size(索引主分片大小)。也可以单独查询某一个索引下信息...
2018-07-09 21:50:23 21991 2
原创 Elasticsearch 新增字段
Elasticsearch 6.3版本下新增字段如:给索引index的类型type新增字段name:POST index/type/_mapping{ "properties": { "name":{ "type":"keyword", "doc_values":false, "norms": false } }}注:也可以用PUT。...
2018-07-09 21:42:47 11536
翻译 ElasticSearch 6.3版本 Java APIs之Index API
Index APIIndex API允许将类型化的JSON文档索引到特定索引中并使其可搜索。生成JSON文档有几种不同的方法可以生成JSON文档:使用本机byte[]或作为一个手动(也就是你自己)String使用Map它将自动转换为其JSON等效项使用第三方库序列化您的bean,例如Jackson使用内置帮助器XContentFactory.jsonBuilder()在内部,每种类型都转换为byt...
2018-07-09 21:34:29 1662
翻译 ElasticSearch 6.3版本 Document APIs之Delete By Query API
Delete By Query API最简单的用法是_delete_by_query对匹配查询的每个文档执行删除操作。这是API:POST twitter/_delete_by_query{ "query": { "match": { "message": "some message" } }}必须query以与Search API相同的方式将查询作为值传递给键。也可以...
2018-07-08 11:11:35 1105
翻译 ElasticSearch 6.3版本 Document APIs之Refresh
RefreshIndex,Update,Delete和Bulk APIs支持设置刷新以控制由该请求做出的更改在搜索时可见。这些是允许的值:空字符串或true:在操作发生后立即刷新相关的主分片和副本分片(而不是整个索引),以便更新的文档立即显示在搜索结果中。只有在从索引和搜索角度进行仔细考虑并验证它不会导致性能不佳之后,才能进行此操作。wait_for:在答复之前,等待由请求所做的更改以刷新进行可见...
2018-07-06 23:55:21 902
翻译 ElasticSearch 6.3版本 Document APIs之Delete API
Delete APIdelete API允许根据其id从特定索引中删除类型化的JSON文档.egDELETE / twitter / _doc / 1上述删除操作结果:{ “_shards”:{ “总数”:2, “失败”:0, “成功”:2 }, “_index”:“twitter”, “_type”:“_ doc”, “_i...
2018-07-06 23:50:18 320
翻译 ElasticSearch 6.3版本 Document APIs之Get API
Get APIget API允许根据其id从索引中获取类型化的JSON文档。e.g.从名为twitter的索引获取JSON文档,该索引名为_doc,id值为0:GET twitter/_doc/0上述操作结果:{ "_index" : "twitter", "_type" : "_doc", "_id" : "0", "_version" : 1
2018-07-05 19:47:58 405
翻译 ElasticSearch 6.3版本 Document APIs之Index API(索引API)
Index API(索引API)在特定索引中添加或更新类型化的JSON文档,使其可搜索。e.g.将JSON文档插入到“twitter”索引中,名为“_doc"且ID为1的类型下:PUT twitter/_doc/1{"user":"kimchy","post_date":"2009-11-15T14:12:12","message":"trying out Elasticsearch&am
2018-07-05 19:05:43 753
原创 ll: command not found
-bash: ll: command not found在xshell5中,ll命令无法识别原因:ll并不是Linux下一个基本的命令,它实际上是ls -l的一个别名Ubuntu默认不支持命令ll,必须用ls-l若想使用此命令,可做如下操作: #cd ~ 回到根目录/家目录,即图中的root目录#vim ~/.bashrc 打开~/.bashrc,添加“ alias ll=’ls-l’ ”#s...
2018-06-27 20:34:37 41252 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人