AnyShare-AnyShare 7 多节点环境,单副本智能索引 opensearch 节点迁移
关键字
索引节点迁移 、opensearch
适用产品
- AnyShare Enterprise 7.0.3.x
- AnyShare Express 7.0.3.x
目的
解决索引节点某些原因下,需要进行跨节点迁移,同时不重建索引。
解决方案
1.停止 opensearch 索引服务。索引迁移节点会影响检索功能正常使用,需要与用户沟通时间窗口。
kubectl scale sts opensearch-master -n resource --replicas=0

2.执行命令确认 pod 消息,索引服务停止无返回后,再继续下一步。
kubectl get pod -A | grep opensearch-master

3.备份索引服务配置文件。
helm get values opensearch-master > helm_opensearch-master.yaml.bak #备份
helm get values opensearch-master > helm_opensearch-master.yaml #后面将修改更新

4.将索引数据目录文件打包压缩,推送至目标节点 /anyshare 目录,需要提前目标节点创建。
cd /anyshare
tar zcf opensearch.tar.gz /opensearch

scp opensearch.tar.gz root@目标节点IP:/anyshare

5.目标节点操作,解压缩包。
cd /anyshare && tar xf opensearch.tar.gz
6.将服务从节点移除。
helm delete --purge opensearch-master

7.在原节点修改索引服务配置文件,将标记字段 host: 改为需迁移的节点主机名。
vi helm_opensearch-master.yaml

8.使用修改后的索引配置文件,安装索引服务,等待服务重启完成后,可将原节点索引数据,压缩包移除。
helm install -f helm_opensearch-master.yaml --name opensearch-mastrer helm_repos/opensearch-master --version=1.7.5

更多信息
存储空间有限的场景下, 可以用 scp 命令不打包迁移;但需要手动检查调整目录权限。