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

相关推荐
Lx3521 小时前
复杂MapReduce作业设计:多阶段处理的最佳实践
大数据·hadoop
MacroZheng4 小时前
横空出世!MyBatis-Plus 同款 ES ORM 框架,用起来够优雅!
java·后端·elasticsearch
武子康4 小时前
大数据-100 Spark DStream 转换操作全面总结:map、reduceByKey 到 transform 的实战案例
大数据·后端·spark
expect7g5 小时前
Flink KeySelector
大数据·后端·flink
极限实验室14 小时前
搜索百科(1):Lucene —— 打开现代搜索世界的第一扇门
搜索引擎·lucene
阿里云大数据AI技术21 小时前
StarRocks 助力数禾科技构建实时数仓:从数据孤岛到智能决策
大数据
Lx3521 天前
Hadoop数据处理优化:减少Shuffle阶段的性能损耗
大数据·hadoop
Elasticsearch1 天前
平衡尺度:利用权重使倒数排序融合 (RRF) 更加智能
elasticsearch
武子康1 天前
大数据-99 Spark Streaming 数据源全面总结:原理、应用 文件流、Socket、RDD队列流
大数据·后端·spark
阿里云大数据AI技术2 天前
大数据公有云市场第一,阿里云占比47%!
大数据