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

迁移数据

操作场景

用户选择Elasticsearch作为代替Solr的服务平台,需要将索引数据导入到Elasticsearch。

前提条件

  • 集群正常运行。
  • 已安装集群客户端,且客户端节点与Elasticsearch集群互通。

操作步骤

  1. 参考使用HDFS2ES工具迁移HDFS数据章节,以TableScanMR并发方式将HBase中的Solr源数据迁移至Elasticsearch。
  2. 验证导入结果。

    1. 查看某个表是否导入完成。

      通过curl命令通过查看索引来确认数据是否导入,查询数据导入的条数,和Solr记录进行对比,如果条数一致,说明数据导入完成。

      例如:

      • 普通模式:

        curl -XGET "http://EsNode节点的IP:EsNode端口/my_store1/_search"

      • 安全模式:

        curl -XGET --tlsv1.2 --negotiate -k -u : "https://EsNode节点的IP:EsNode端口/my_store1/_search"

    2. 查看全部表是否导入完成

      通过curl命令,可以看到Elasticsearch集群所有的表及对应的记录数,和Solr记录进行作对比,如果条数一致,说明数据导入完成。

      例如:

      • 普通模式:

        curl -XGET "http://EsNode节点的IP:EsNode端口/_cat/_indices"

      • 安全模式:

        curl -XGET --tlsv1.2 --negotiate -k -u : "https://EsNode节点的IP:EsNode端口/_cat/_indices"

      curl命令的使用请参考Linux下curl命令的使用

  3. 停止基于Solr的业务应用,并迁移到Elasticsearch业务应用。

    迁移后请验证业务是否正常,如果无法正常使用,需要回退使用Solr。

    如果业务正常则可根据用户的维护要求,保留或删除Solr服务,释放资源。

参考信息

  • 数据导入完成后,若个别索引导入失败,会在数据导入工具包目录中新生成“json”目录。

    可以在sbin目录,执行./sbin/input.sh单独导入失败的数据。

  • 集群客户端的Elasticsearch/tools/elasticsearch-data2es/hbase2es/logs目录,可以查看导入过程的日志信息。