更新时间:2024-11-29 GMT+08:00

源集群索引在新集群自动创建索引失败

处理步骤

  1. 将配置文件“espara.properties”里的“copySettingAndMapping”设为“false”
  2. 查找日志文件“logs/estool.log,”检查报错原因。通常是旧版本mapping在新版本不兼容,需要手动在目标集群创建正确的索引mapping。

    例如旧版本的_routing参数需要path参数,新版本要把path去掉。索引mapping相关命令如下:

    1. 查看索引mapping。

      curl -XGET --negotiate -k -u : 'https://ip:port/index_name/_mapping/?pretty'

      • ip:EsNode或EsClient实例的业务IP。
      • port:实例业务IP的端口号。
      • index_name:索引表的名称。
    2. 创建索引mapping。
      curl -XPUT --negotiate -k -u : 'https://ip:port/index_name/_mapping/type_name' -H 'Content-Type: application/json' -d'
      {
      "properties": {
      "filed_name": {
      "type": "text"
      }
      }
      }

    详细命令参考官网https://www.elastic.co/guide/en/elasticsearch/reference/7.6/indices-put-mapping.html

  3. 索引创建成功后再使用工具对该索引进行数据迁移。