版权声明:本文为原创文章,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。 https://blog.csdn.net/fgf00/article/details/79582299
一、ElasticSearch 常用api地址
软件环境:以下都是对于 ElasticSearch-5之后版本
'查看集群状态' : http://server_ip:port/_cluster/stats
'集群健康状态' : http://server_ip:port/_cluster/health
'查看节点状态' : http://server_ip:port/_nodes/stats
http://server_ip:port/_nodes/ # 和上面的有出入,比上面主机ip全
'索引(indices)状态': http://server_ip:port/_stats
'查看设置' : http://server_ip:port/_all/_settings
'查看索引内容' :http://server_ip:port/你的索引名/_search
'查看es集群副本分配节点':http://server_ip:port/_cat/shards?v
二、ElasticSearch基本管理命令
1、创建es索引:
curl -XPUT 'http://server_ip:port/filebeat-2018.07.25.19' -d '
{
"settings": {
"index": {
"mapping": {
"total_fields": {
"limit": "10000"
}
},
"refresh_interval": "5s",
"number_of_shards": "5",
"number_of_replicas": "1"
}
}
}'
2、删除es索引
curl -X DELETE 'http://server_ip:port/*索引名*'
# 注:新版本es5以后,get获取索引不支持*正则,delete操作支持
# curl -X GET 'http://server_ip:port/*索引名*'
3、关闭es索引、打开es索引
curl -X POST 'http://server_ip:port/索引名/_close' # 索引支持 “*” 匹配
curl -X POST 'http://server_ip:port/索引名/_open' # 打开索引
4、节点离线时延迟分配配置
由于节点已经离开而成为未分配的副本分片的分配可以通过index.unassigned.node_left.delayed_timeout 动态设置被延迟,默认为1m
可以在实时索引(或所有索引)上更新此设置:
curl -XPUT 'http://server_ip:port/_all/_settings' -d '
{
"settings":{
"index.unassigned.node_left.delayed_timeout":"20m"
}
}'
5、禁止自动分片同步
分配已被此超时设置延迟的分片数量可以使用群集健康APIhttp://server_ip:port/_cluster/health查看:
用于节点重启等时,不启用es同步,重启稳定后在开启同步,避免节点几分钟的重启导致所有所有重新分配同步一遍
- 禁止自动同步:
curl -XPUT 'http://server_ip:port/_cluster/settings' -d '
{
"transient" : {
"cluster.routing.allocation.enable" : "none"
}
}'
- 开始同步
curl -XPUT 'http://server_ip:port/_cluster/settings' -d '
{
"transient" : {
"cluster.routing.allocation.enable" : "all"
}
}'
在写入量和查询性能能够满足的前提下,为索引分配尽量少的分片。分片过多会带来诸多负面影响
冷热数据最好做分离。对于日志型应用来说,一般是每天建立一个新索引,当天的热索引在写入的同时也会有较多的查询。如果上面还存有比较长时间之前的冷数据,那么当用户做大跨度的历史数据查询的时候,过多的磁盘IO和CPU消耗很容易拖慢写入,造成数据的延迟。