ES数据迁移

ES数据迁移 (冷迁)

场景:单机迁移到集群

迁移步骤:

1、物理文件拷贝: 数据目录:到elasticsearch.yml中找到path.data的配置

2、替换调新集群中其中一台的数据文件目录,同时清空集群其余节点的数据目录文件

3、启动集群节点:

报错: java.io.IOException: failed to find metadata for existing index XXX
在节点启动的时候,有时会出现这类问题,导致节点重启失败。出现这种情况多是因为状态为Close的索引引起的
处理方法:
进入当前节点的data目录: /esdata/nodes/0/_state
将manifest开头的文件 删除或重命名
再启动该节点就可以了,启动成功后该 manifest文件会自动生成

4、添加ES集群账号密码

1)、编辑elasticsearch.yml文件(每个节点都要配置)
    开启x-pack功能,并指定证书位置
    添加内容如下:
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: /data/slview/elasticsearch-7.2.1/config/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: /data/slview/elasticsearch-7.2.1/config/elastic-certificates.p12

2)、生成 TLS 和身份验证 (把elastic-certificates.p12这个文件复制到其他节点)
    单独使用一个节点生成证书;
    证书会生成在config目录下,证书文件名为 elastic-certificates.p12;
    cd到elasticsearch目录下的bin目录执行
    ./elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
3)、重启es集群
     全部节点都要重启一遍,因为elasticsearch.yml有了新的配置了;
     重启这里也不多介绍了;
4)、设置密码:(在其中一个节点设置密码即可,设置完之后,数据会自动同步到其他节点。)
     cd到elasticsearch目录下的bin目录执行
     ./elasticsearch-setup-passwords interactive
     测试密码访问:curl --user elastic:elastic http://localhost:7020

5、验证节点状态

查看节点
curl -u'elastic:Unitechs#S987!' 127.0.0.1:7020/_cat/nodes
查看索引:
curl -u'elastic:Unitechs#S987!' 127.0.0.1:7020/_cat/indices?v
批量打开索引:
curl -u'elastic:Unitechs#S987!' -XPOST 127.0.0.1:7020/pm_perf*/_open

你可能感兴趣的:(elasticsearch,大数据)