03_索引管理模版API
03_索引管理模版&API
-
ES集群常见术语
- index
- shard
- replica
- document
-
主分片和副本分片
- primary shard : read write
- replica shard : read only
-
索引管理
创建 - PUT http://10.0.0.101:9200/index_name更新 - POST http://10.0.0.101:9200/index_name/_settings删除 - DELETE http://10.0.0.101:9200/index_name获取 - GET http://10.0.0.101:9200/index_name查看 - GET http://10.0.0.101:9200/_cat/indices关闭 - POST http://10.0.0.101:9200/index_name/_close打开 - POST http://10.0.0.101:9200/index_name/_open别名 - POST http://10.0.0.101:9200/_alias
索引模版
索引模版是创建索引的一种方式
指的是创建索引的一种方式,用户可以根据需求自定义对应的索引模版
- 查看索引模版
GET http://10.0.0.103:9200/_template
- 查看单个索引模版
GET http://10.0.0.103:9200/_template/.monitoring-es
- 创建/修改索引模版
POST http://10.0.0.103:9200/_template/yzk-elk{"aliases": {"DBA": {},"SRE": {},"K8S": {}},"index_patterns": ["oldboyedu-linux85*"],"settings": {"index": {"number_of_shards": 3,"number_of_replicas": 0}},"mappings": {"properties":{"ip_addr": {"type": "ip"},"access_time": {"type": "date"},"address": {"type" :"text"},"name": {"type": "keyword"}}}
}
- 创建
curl -X PUT 10.0.0.103:9200/oldboyedu-linux-001
默认是一个切片,一个副本
- 删除模版
DELETE http://10.0.0.103:9200/_template/oldboyedu-linux85
kibana管理模版索引
- 这个是最终的索引模版就像是前面我们自己手写的一个
- 这个就是我们写的索引模版
ES常用的API
健康状态的api(health)
(2)测试取数据
curl http://10.0.0.103:9200/_cluster/health 2>/dev/null| jq
curl http://10.0.0.103:9200/_cluster/health 2>/dev/null| jq .status
curl http://10.0.0.103:9200/_cluster/health 2>/dev/null| jq .active_shards_percent_as_number
设计集群的优先级(settings)
会按以下优先顺序应用这些设置:
(1)Transient setting(临时配置,集群重启后失效)
(2)Persistent setting(持久化配置,集群重启后依旧生效)
(3)elasticsearch.yml setting(配置文件)
(4)Default setting value(默认设置值)
- 查询集群所有的配置信息
(1)查询集群的所有配置信息
GET http://10.0.0.103:9200/_cluster/settings?include_defaults=true&flat_settings=true (2)修改集群的配置信息
PUT http://10.0.0.103:9200/_cluster/settings
{"transient": {"cluster.routing.allocation.enable": "none"}
}
集群状态api
集群统计API
Cluster Stats API 允许从集群范围的角度检索统计信息。返回基本索引指标(分片数量、存储大小、内存使用情况)和有关构成集群的当前节点的信息(数量、角色、操作系统、jvm 版本、内存使用情况、cpu 和已安装的插件)。
(1)查看统计信息
GET http://10.0.0.103:9200/_cluster/stats推荐阅读:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/cluster-stats.html
集群分片分配情况api
查看集群的分片分配情况(allocation)
集群分配解释API的目的是为集群中的分片分配提供解释。
对于未分配的分片,解释 API 提供了有关未分配分片的原因的解释。
对于分配的分片,解释 API 解释了为什么分片保留在其当前节点上并且没有移动或重新平衡到另一个节点。
当您尝试诊断分片未分配的原因或分片继续保留在其当前节点上的原因时,此 API 可能非常有用,而您可能会对此有所期待。
(1)分析teacher索引的0号分片未分配的原因。
GET http://10.0.0.101:9200/_cluster/allocation/explain
{"index": "teacher","shard": 0,"primary": true
}推荐阅读:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/cluster-allocation-explain.html
分片路由api
集群分片重路由API(reroute)
reroute 命令允许手动更改集群中各个分片的分配。
例如,可以将分片从一个节点显式移动到另一个节点,可以取消分配,并且可以将未分配的分片显式分配给特定节点。
(1)将"oldboyedu-linux85-student-jiaoshi07"索引的0号分片从elk102节点移动到elk101节点。POST http://10.0.0.101:9200/_cluster/reroute
{"commands": [{"move": {"index": "oldboyedu-linux85-student-jiaoshi07","shard": 0,"from_node": "elk102.oldboyedu.com","to_node": "elk101.oldboyedu.com"}}]
}