1、检查弃用日志以查看您是否正在使用任何弃用的功能并相应地更新您的代码。
2、查看重大更改并对版本 7.17.5 的代码和配置进行任何必要的更改。
3、如果您使用任何插件,请确保每个插件都有一个与 Elasticsearch 版本 7.17.5 兼容的版本。
4、在升级生产集群之前,在隔离环境中测试升级。
5、通过拍摄快照备份您的数据!(或对当前集群所有节点进行数据和安装包进行全量备份)
升级集群
*禁用自动分片功能*(若在升级过程中不考虑IO性能瓶颈,可以忽略)
关闭一个数据节点时,分配过程会等待
index.unassigned.node_left.delayed_timeout(默认为一分钟),然后才开始将该节点上的分片复制到集群中的其他节点,这可能涉及大量 I/O。由于节点很快将重新启动,因此此 I/O 是不必要的。您可以通过在关闭数据节点之前禁用副本分配来避免争分夺秒 :
PUT _cluster/settings{ “persistent”: { “cluster.routing.allocation.enable”: “primaries” }}
*停止不必要的索引并执行同步刷新。*(可选的)
POST _flush/synced
*暂停要升级节点与集群间其他节点进行数据通讯*,避免有新的数据产生(可选的)
POST _ml/set_upgrade_mode?enabled=true
关闭当前节点,在当前服务器中升级该节点ElasticSearch版本,其中ElasticSeaarch参考原节点进行配置。
*升级ElasticSearch使用插件*
使用elasticsearch-plugin脚本安装每个已安装的 Elasticsearch 插件的升级版本。