Elasticsearch(ES)常用命令

常用运维命令

一、基本命令

1.1、查看集群的健康状态

curl -u aus:123456 -XGET 'http://10.11.42.22:9200/_cat/health?v'

1.2、查看节点信息

curl -u aus:123456 -XGET 'http://10.11.42.22:9201/_cat/nodes?v'

1.3、查看索引列表

curl -u aus:123456 '10.21.17.219:9201/_cat/indices?v&s=index'

1.4、创建索引

curl -u aus:123456 -XPUT 'http://10.11.42.22:9201/test_index?pretty'

test_index 为索引名

1.5、删除索引

curl -u aus:123456 -XDELETE 'http://10.11.42.22:9201/test_index?pretty'

test_index 为索引名

1.6、关闭索引

curl -XPOST '10.21.17.219:9201/maxs_standard_20210908/_close'

maxs_standard_20210908 索引名

1.7、打开索引

curl -XPOST '10.21.17.219:9201/maxs_standard_20210908/_open'

maxs_standard_20210908 为索引名

1.8、查看集群资源使用情况(各个节点的状态,包括磁盘,heap,ram的使用情况)

curl -XGET '10.21.17.219:9201/_cat/nodes?v&h=http,version,jdk,disk.total,disk.used,disk.avail,disk.used_percent,heap.current,heap.percent,heap.max,ram.current,ram.percent,ram.max,master'

1.9、复制索引(从一个索引复制到新的索引,新索引不会继承旧的配置,可以用来改变mapping)

1.9.1、同一个集群复制

JSON

curl -H "Content-Type:application/json" -XPOST -u aus:123456 'http://10.11.42.22:9201/_reindex ' -d ' { "source":{"index":"js_20200806"}, "dest":{"index":"js_20200806_bak"} }'

1.9.2、跨集群复制

JSON

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://10.11.42.22:9201/_reindex ' -d ' { "source": { "remote": { "host": "http://10.11.42.21:9200", "username": "user", "password": "pass" }, "index": "xm_20200321", "query": { "match_all": {} }, "size": 5000 }, "dest": { "index": "xm_20200321" } }'

注意:1、跨集群复制,需要在被复制的集群里设置复制集群的IP白名单。

2、索引的合并、改名都是reindex。

1.10、如何批量删除索引?

JSON

curl -H "Content-Type: application/json" -XPUT 'http://10.11.42.22:9211/_cluster/settings' -d ' { "persistent": {"action.destructive_requires_name": false} }'

重要说明:批量删除后务必要改回原状态(true),防止不必要的误删除。

1.11、修改索引查询/导出的条数限制

1)、修改已存在的索引(-u aus:123456 其中aus/123456是认证的用户名和密码)

JSON

curl -u aus:123456 -H "Content-Type:application/json" -XPUT "http://10.11.42.22:9201/_settings" -d' { "index": { "max_result_window": "50000" } }'

2)、修改以后新建的索引,需要修改模板,增加红色方框部分

1.12、如何批量删除索引?

默认情况下,Elasticsearch不允许批量删除索引,需要通过以下命令手动开启。开启后,您可以通过通配符进行批量删除操作。

JSON

curl -H "Content-Type: application/json" -XPUT 'http://10.11.42.22:9211/_cluster/settings' -d ' { "persistent": {"action.destructive_requires_name": false} }'

重要说明:批量删除后务必要改回原状态(true),防止不必要的误删除。

1.13、修改节点的分片数

1.13.1、ElasticSearch 7.x 如果没有配置 cluster.max_shards_per_node ,默认的分片数是1000;通过curl方式修改如下

JSON

curl -H "Content-Type: application/json" -XPUT 'http://10.11.42.22:9201/_cluster/settings' -d'{"persistent":{"cluster":{"max_shards_per_node":"10000"}}}'
1.13.2、通过通过配置文件elasticsearch.yml修改节点(集群)分片数量,需要重启服务。(永久生效)

JSON

cluster.max_shards_per_node: 5000
1.13.3、查看节点的分片数

JSON

curl -XGET '10.11.42.22:9201/_cluster/settings?pretty'

1.14、默认ES的单条事件的字段数上限是1000, 如果要修改index字段上限,操作如下

1.14.1、修改现有索引的的字段上线

JSON

curl -H "Content-Type: application/json" -XPUT 10.11.42.22:9205/_settings -d'{"index.mapping.total_fields.limit": 2000}'

1.14.2、修改模板,让配置一劳永逸(可以把现有的aus_template模板删除,修改aus安装包里 aus/felix/conf/elasticsearch/aus_template_7x.json,将下列配置加进去,重启AUS前台)

JSON

"settings": { "index": { "mapping" : { "total_fields" :{"limit" : "2000"} } } },

相关推荐
得物技术1 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子1 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1232 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
果丁智能2 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
ApacheSeaTunnel2 天前
实战演示 | 基于 Apache SeaTunnel 与 Apache DolphinScheduler 实现 MySQL 到 Doris 离线定时增量同步
大数据·mysql·开源·doris·数据集成·seatunnel·数据同步
weixin_397574092 天前
PDF复杂表格的1:1还原引擎:跨页表格自动拼接技术实战
大数据·人工智能·pdf
TableRow2 天前
参数化搜索的实现原理:从多维索引到查询优化
elasticsearch·全文检索
极光代码工作室2 天前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
秋名山码民2 天前
Graph RAG 深度解析:从向量检索到知识推理的技术演进
大数据·人工智能·rag