Elasticsearch 是一个搜索和分析引擎,它嵌入在 VMware Identity Manager 中,并用于审核、报告和搜索。VMware Identity Manager 3.2.x 包含 Elasticsearch 2.3.5,而以前的版本包含 Elasticsearch 1.75。在升级到 VMware Identity Manager 3.2.x 期间,将迁移 Elasticsearch 记录。

关于此任务

在升级到 VMware Identity Manager 3.2.x 之前,请检查具有映射冲突的索引,并将其删除以避免在升级后出现问题。如果发现任何映射冲突,Elasticsearch 2.3.5 将无法启动。

如果在升级之前选择不删除具有映射冲突的索引(如本过程中所述),您必须在升级后从所有 VMware Identity Manager 节点中手动删除这些索引。有关信息,请参阅升级后的配置

过程

  1. 在其中的一个 VMware Identity Manager 节点上安装迁移插件:

    export JAVA_HOME=/usr/java/jre-vmware

    /opt/vmware/elasticsearch/bin/plugin -i migration -u https://github.com/elastic/elasticsearch-migration/releases/download/v1.19/elasticsearch-migration-1.19.zip

    service elasticsearch restart

  2. 查看 Elasticsearch 日志文件:

    tail -f /opt/vmware/elasticsearch/logs/horizon.log

    查找确认加载了迁移站点插件的消息,如下所示:

    [2018-04-16 13:28:03,593][INFO ][plugins  ] [Crusader] loaded [discovery-idm], sites [migration]
  3. 等到 Elasticsearch 启动。

    将显示类似于以下内容的消息:

    [2018-04-16 13:28:13,282][INFO ][node     ] [Crusader] started
    [2018-04-16 13:29:16,468][INFO ][gateway  ] [Crusader] recovered [91] indices into cluster_state 
  4. 暂时允许从外部访问端口 9200,以允许通过浏览器访问该插件。
    1. 编辑 /usr/local/horizon/conf/iptables/elasticsearch 文件,并将 "9200" 添加到 ELASTICSEARCH_tcp_all 条目中。

      在进行更改后,该文件将类似于以下内容:

      ELASTICSEARCH_tcp_all="9200"
      ELASTICSEARCH_tcp_vapp="9300"
      ELASTICSEARCH_udp_all=""
      ELASTICSEARCH_udp_vapp=""
    2. 运行以下脚本以应用新的 iptables 规则:

      /usr/local/horizon/scripts/updateiptables.hzn

  5. 运行迁移报告。
    1. 在浏览器中,转到 http://<ES_NODE_FQDN>:9200/_plugin/migration,其中 <ES_NODE_FQDN> 是安装了迁移插件的 VMware Identity Manager 节点的完全限定域名。
    2. 单击立即运行检查按钮。
  6. 查看迁移报告并查找红色索引。

    由于已关闭而变为红色的索引是报告中的预期项目,可以将其忽略。需要删除由于关闭以外的任何原因而变为红色的任何索引,例如,由于映射冲突。请使用以下命令删除这些索引:

    curl -XDELETE http://localhost:9200/<INDEX_NAME>

  7. 再次阻止端口 9200。
    1. 编辑 /usr/local/horizon/conf/iptables/elasticsearch 文件并将 ELASTICSEARCH_tcp_all 设置为 ""
    2. 运行以下脚本:

      /usr/local/horizon/scripts/updateiptables.hzn