前言
Es升级是真快啊,几天一个版本更新,越来越好用了,8.9.2之后增加了Synthetics功能,可以直接在页面上建监测了,真香,升级起
本文只支持8.x升到8.x, 如果你是7.x,去看文档:Upgrade Elasticsearch
升级Elasticsearch
步骤:先升级node节点,再升级master节点
1. 停止分片分配
由于在关闭数据节点时,分配进程会等待一分钟时间,然后开始将该节点上的分片复制到群集中的其他节点,这可能会涉及大量 I/O。
但是我们的节点很快就会重新启动(升级很快),因此这种 I/O 是不必要的。因此可以在关闭数据节点前禁用复制的分配,从而避免I/O:
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "primaries"
}
}
2. 停止不必要的索引并执行刷新(可选)
POST /_flush
3. 暂时停止与活动机器学习作业和数据馈送相关联的任务(可选)
使用设置升级模式API暂时停止与你的机器学习作业和数据传输相关的任务,并防止打开新作业:
POST _ml/set_upgrade_mode?enabled=true
如果没开就不用设置
4. 停止节点
如果你是用systemd命令维护es就用这个指令,如果不是,请去看官方文档
sudo systemctl stop elasticsearch.service
5. 安装新版本
用deb包或者rpm包装的可以直接安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.2-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.9.2-amd64.deb.sha512
shasum -a 512 -c elasticsearch-8.9.2-amd64.deb.sha512
sudo dpkg -i elasticsearch-8.9.2-amd64.deb
目前我安装的最新是8.9.2
重载一下配置文件
systemctl daemon-reload
6. 启动
systemctl start elasticsearch.service
查看节点情况
GET _cat/nodes
7. 重新启用分片分配
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": null
}
}
8. 等待节点恢复
GET _cat/health?v=true
等待状态列切换为绿色。
节点变为绿色后,所有主碎片和副本碎片都已分配。如果实在等不到就算了,我升级的时候等了半天,还是yellow,当然如果是red肯定不行
9. 重复以上步骤
到这里node节点已经升级好了,重复以上步骤继续升级其他node,最后升级master即可
注意:如果你通过一些非正常手段开了白金版,升级后会告诉你许可证错误,参考一分钟开启elastic白金版再来一遍就好了
升级Kibana
kibana升级比较简单,停止并重新安装即可,如果有多台kibana,要全部停掉
参考文档:Upgrade Kibana
systemctl stop kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.9.2-amd64.deb
shasum -a 512 kibana-8.9.2-amd64.deb
sudo dpkg -i kibana-8.9.2-amd64.deb
systemctl start kibana