Appearance
常用运维操作
查看集群与索引信息:_cat API
_cat 提供人类可读的表格形式信息,常用:
| 接口 | 说明 |
|---|---|
GET _cat/health?v | 集群健康 |
GET _cat/indices?v | 所有索引(大小、文档数、分片等) |
GET _cat/nodes?v | 节点列表 |
GET _cat/shards?v | 分片分布 |
GET _cat/aliases?v | 别名列表 |
参数 v 表示显示表头。还可用 h=列名 指定要显示的列,如 ?v&h=index,docs.count,store.size。
索引别名(Alias)
别名是索引的一个“名字”,可以指向一个或多个索引。应用通过别名访问,可以在不改业务代码的情况下切换底层索引(例如做零停机重建索引)。
创建与使用
http
POST _aliases
{
"actions": [
{ "add": { "index": "products_v1", "alias": "products" } }
]
}之后用 GET products/_search 即查询 products_v1。
别名指向多个索引
例如按时间滚动的日志索引,可以让别名同时指向多个索引,查询时自动查所有:
http
POST _aliases
{
"actions": [
{ "add": { "index": "logs-2024-01", "alias": "logs" } },
{ "add": { "index": "logs-2024-02", "alias": "logs" } }
]
}写入时一般仍写具体索引名(如 logs-2024-02),或通过索引模板 + 写别名配合使用。
切换索引(零停机)
先创建新索引并 Reindex 数据,再通过别名切换:
products_v2建好并数据迁完。- 一条
_aliases里做两步:remove掉products->products_v1,addproducts->products_v2。
应用始终访问 products,无需停机。
重建索引(Reindex)
当需要修改 mapping、迁移数据或跨集群复制时,无法在原索引上改字段类型,只能新建索引并迁移数据,即 Reindex。
同集群 Reindex
http
POST _reindex
{
"source": { "index": "old_index" },
"dest": { "index": "new_index" }
}可将 old_index 的数据拷贝到 new_index。目标索引需事先创建好,且 mapping 符合预期。还可在 source 中加 query 做过滤,只迁移部分数据;用 size、sort 做分批。
注意
- 大索引 Reindex 会占用资源,建议在低峰期执行或限速(
requests_per_second)。 - 若源索引仍在写入,Reindex 只复制快照时刻的数据,如需同步可考虑用 ingest pipeline 或业务双写。
快照与恢复(Snapshot)
快照用于备份整个集群或部分索引,可恢复到本集群或其它集群。
注册快照仓库
快照需先存在一个“仓库”(如共享文件系统或 S3):
http
PUT _snapshot/my_backup
{
"type": "fs",
"settings": {
"location": "/data/elasticsearch/backup"
}
}(使用 fs 类型时,各节点需能访问同一路径;生产常用 S3 等。)
创建快照
http
PUT _snapshot/my_backup/snapshot_1
{
"indices": "index1,index2",
"include_global_state": false
}不指定 indices 则备份所有索引。
恢复
http
POST _snapshot/my_backup/snapshot_1/_restore
{
"indices": "index1",
"rename_pattern": "index1",
"rename_replacement": "index1_restored"
}恢复前确保目标索引不存在或已关闭,避免冲突。
索引生命周期(ILM)简介
ILM(Index Lifecycle Management) 可自动管理索引的热(hot)→温(warm)→冷(cold)→删除等阶段,例如:
- 新数据写入 hot 索引(SSD、多副本)。
- 一段时间后滚到 warm(可减少副本、迁移到便宜存储)。
- 再久移到 cold,最后按策略删除。
通过策略(policy)和索引模板绑定到索引名模式,由 ILM 定时执行 rollover、shrink、delete 等操作。详细配置见官方 ILM 文档。