美文网首页
es reindex使用

es reindex使用

作者: 奋斗的韭菜汪 | 来源:发表于2021-01-19 19:24 被阅读0次

    使用场景:

    1、es集群版本升级:

    同一大版本升级(如6.1.x->6.8.x或7.1.x->7.8.x),索引读写兼容,不需要重建索引
    不同版本升级(如6.1.x->7.1.x),索引读写不兼容,需要重建索引

    2、索引远程迁移

    集群迁移,索引服务不停机,数据提前迁移

    3、索引分片数量调整

    分片数量由少变多,由多变少

    4、索引文档结构变更

    字段类型,字段属性变更、文档对象结构变更

    5、索引碎片垃圾处理

    索引频繁更新,产生很多内存碎片垃圾

    常用重建索引方式:

    reindex重建索引创建新索引,原索引保留,原有索引"_source"必须开启
    url参数:
    refresh:目标索引是否立即刷新
    wait_for_active_shards:重建索引分片响应设置
    scroll:快照查询时间
    slices:重建并行任务切片(建议与分片数一致)

    #手动切片
    POST _reindex
    {
      "confilicts":"proceed",
       "source":{
        "index":"samples_index",
        "slices":{
        "id":0,
        "max":3
        }
      },
      "dest":{
        "index":"samples_index_bak"
      }
    }
    #自动分片
    POST _reindex?slices=2&refresh=true
    {
      "confilicts":"proceed",
       "source":{
        "index":"samples_index"
      },
      "dest":{
        "index":"samples_index_bak"
      }
    }
    
    

    Max_docs:单次最大数据条数
    requests_per_second:每秒数据量阈值控制,默认是-1(不限制),生产重建时建议控制在500-1000,控制重建的速度,防止集群io瞬间过大
    req请求参数:
    confilicts:重建索引冲突解决(覆盖、中断)
    source{}:源索引配置信息
    dest{}:新索引配置信息
    script:处理脚本,处理原索引写入到新索引
    routing:路由到指定分片
    Multi index:多索引重建
    Source field:限制重建索引的字段
    field rename:索引字段重命名
    remot:远程重建索引

    重建索引任务管控:(重建索引是一个异步任务)

    #查看所有任务
    GET _cat/tasks
    #查看重建任务
    GET _cat/tasks?actions=*reindex
    #查看指定id的任务
    GET _cat/tasks/{id}
    #终止任务
    POST _tasks/{id}/_cancel
    

    相关文章

      网友评论

          本文标题:es reindex使用

          本文链接:https://www.haomeiwen.com/subject/pjtczktx.html