ElasticSearch索引别名和零停机

起因

显而易见,如果我们需要修改索引,而重建需要删除旧的索引,会导致线上服务不可用,因此,我们想要在不影响线上检索服务的同时,修改索引,就需要用到elasticsearch的一个特性,别名机制

什么是索引别名

索引 别名 就像一个快捷方式或软连接,可以指向一个或多个索引,也可以给任何一个需要索引名的API来使用。别名 带给我们极大的灵活性,允许我们做下面这些:

  • 在运行的集群中可以无缝的从一个索引切换到另一个索引
  • 给多个索引分组 (例如, last_three_months)
  • 给索引的一个子集创建 视图
使用方式

管理别名的两种方式:
1_alias 用于单个操作
2 _aliases用于执行多个原子级操作。

添加别名:给ftyj_test索引添加别名:ftyj_test_alias

PUT ftyj_test/_alias/ftyj_test_alias

你可以检测这个别名指向哪一个索引:

GET /*/_alias/ftyj_test_alias

或哪些别名指向这个索引:

GET /ftyj_test/_alias/*

上面两种方式都会返回如下相同结果:

{
  "ftyj_test" : {
    "aliases" : {
      "ftyj_test_alias" : { }
    }
  }
}

实际生产环境过程:
1 备份生产环境索引,重建索引
2 将别名的指向从原来生产环境的索引指向新创建的索引

第二步代码如下

POST /_aliases
{
    "actions": [
        { "remove": { "index": "ftyj_test", "alias": "ftyj_test_alias" }},
        { "add":    { "index": "ftyj", "alias": "ftyj_test_alias" }}
    ]
}

执行上面命令以后,再查询别名指向

GET /*/_alias/ftyj_test_alias

结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值