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"} } } },

相关推荐
大勇任卷舒7 小时前
【紧急招聘·短期驻场】HDP大数据工程师(郑州·4个月·包驻场补贴)
大数据
Elastic 中国社区官方博客8 小时前
在 Elasticsearch 中使用原生 PromQL 支持查询 Prometheus 指标
大数据·elasticsearch·搜索引擎·信息可视化·全文检索·prometheus
AC赳赳老秦8 小时前
政企内网落地:OpenClaw 离线环境深度适配方案,无外网场景下本地化模型对接与全功能使用
java·大数据·运维·python·自动化·deepseek·openclaw
ITyunwei09878 小时前
团队管理与人才发展:如何打造一支“召之即来,来之能战”的铁军?
大数据·运维·人工智能
喜欢流萤吖~8 小时前
Elasticsearch集群:高可用与水平扩展的基石
大数据·elasticsearch·搜索引擎
我是发哥哈10 小时前
跨AI模型生成视频的五大维度对比:选型避坑指南
大数据·人工智能·学习·机器学习·chatgpt·音视频
Elastic 中国社区官方博客11 小时前
Elastic 9.4:Workflows 正式发布、Agent Builder 更新,以及 Prometheus / PromQL 支持
运维·数据库·人工智能·elasticsearch·搜索引擎·信息可视化·prometheus
逸Y 仙X11 小时前
Elasticsearch时间类型实战
java·大数据·elasticsearch·搜索引擎·全文检索
Dxy123931021612 小时前
Python如何处理树状分类数据
大数据·python·分类
凡人AI录13 小时前
小红书商业变现 100 个关键词:从流量逻辑到长期复利
大数据