2024年大数据最新ElasticSearch数据迁移方法介绍_elasticsearch 数据迁移,2024年最新大数据开发开发知识点


丰富的网络学习资源存在;然而,在所学知识缺乏系统性的情况下,在遇到问题时往往停留在表面了解,并不进行深入的研究,则难以实现真正技术上的进步。
渴望获得这份系统化资料的朋友,请访问以下链接获取更多信息:
单个行者若要疾行,则需独自一人。群则可拓展更大空间。无论你是正从事IT行业的老鸟或者是对IT行业感兴趣的新手朋友,都欢迎加入我们的技术交流圈(提供丰富的学习资源与实践机会),让我们携手共进吧!
停止不必要的索引并执行同步刷新。 (可选的)
POST _flush/synced
当系统处于暂停状态时,在集群间更新相关节点的数据以完成升级操作,并采取措施防止新数据生成(非强制要求)
POST _ml/set_upgrade_mode?enabled=true
终止当前节点,在本服务器上升级该节点的ElasticSearch版本,并且基于原始配置进行设置。
升级ElasticSearch使用插件
使用elasticsearch-plugin脚本部署每个已部署的Elasticsearch插件的最新版本。在节点升级过程中,请确保所有插件都得到了更新。
语法:$ES_HOME bin/elasticsearch-plugin install XXXX
启动升级的节点
语法:$ES_HOME bin/nohup ./elasticsearch &
重新启用分片分配 (若为禁用自动分片功能,无需执行此步骤)
执行 PUT 操作于 _Cluster/Settings字段组中的指定字段配置项
等待节点恢复
GET _cat/health?v=true
注意:
在滚动升级期间,在运行新版本的节点上复制主分片时,不得将这些副本分配到使用旧版本的节点上。这一步骤可能导致无法解析的数据类型出现。
当无法将副本分片部署至另一台节点(当集群仅包含一个升级节点时),副本分片将处于未部署状态,并且该状态保持稳定黄色标记。
在这种情况下,在未进行初始化或重新定位分片的情况下(检查init和relo列)。如果一个节点已经升级,则可复制一份副本并将其状态标记为绿色。
重复任务
当节点恢复并且集群稳定后,对每个需要更新的节点重复这些步骤。
重启所有节点与其他集群之间的节点以实现数据通信 (如果该功能已处于停用状态,则无需执行;否则无需执行此操作)
POST _ml/set_upgrade_mode?enabled=false
注意
在滚动升级期间,该集群持续保持正常运转状态。然而,在全面部署新功能之前,所有新增的功能项都将被暂时禁止使用并采用兼容模式运行。待所有节点完成最新版本部署并恢复到最新版本后方能启用新增功能;一旦发生这种情况,则先前未完成升级的所有节点将无法重新加入新的集群环境。
在升级过程中若遇到网络故障,请将所有未升级的旧节点从集群中隔离,并确保它们脱机完成升级操作以便重新接入集群。
如果在部署过程中意外关闭或停用一半以上符合主节点条件的资源,则集群将无法正常运行;这表明当前部署不再支持滚动式部署策略。此时应执行全集群重启操作,并重启所有已处于停用状态且符合主节点资格的资源,在此之后集群将恢复到正常工作状态;此外还应考虑对剩余旧资源进行相应部署以完成整个系统更新流程。
1.2.2 snapshot快照
首先创建快照仓库
特别说明:在快照仓库管理中,所有节点都需要进行相应的权限设置。因此,在实践中需要对快照仓库进行nfs挂载。
a)使用Psotman方式创建仓库
POST request:PUT [http://192.168.115.130:9200/_snapshot/my_repository]({{{ "type": "fs", "settings": { "存储位置": "/home/elastic/my_repo_floder", "压缩模式": true, "最大恢复字节数每秒": "50mb", "最大快照字节数每秒": "50mb" } }})
说明:my_repository为镜像仓库名称
Location 为镜像路径

b)使用Curl方式创建仓库
| curl -XPUT ‘http://192.168.115.130:9200/_snapshot/my_repository’ -H ‘content-Type:application/json’ -d ‘{ “type”: “fs”, “settings”: { “location”: “/home/elastic/my_repo_floder”, “compress”: true , “max_restore_bytes_per_sec”: “50mb”, “max_snapshot_bytes_per_sec”: “50mb” }}’ |
|---|
| wps20.jpg |
备份索引(全量)
a)使用Psotman方式备份
| Postman:PUT http://192.168.115.130:9200/_snapshot/my_repository/snapshot_1?wait_for_completion=true |
|---|
| wps21.jpg |
b)使用Curl方式备份
| curl -XPUT ‘http://192.168.115.130:9200/_snapshot/my_repository/snapshot_1?wait_for_completion=true’ |
|---|
| wps22.jpg |
日志显示 completed with state [SUCCESS]

c)查看备份对应索引信息
| Postman:GET http://192.168.115.130:9200/_snapshot/my_hdfs_repository/snapshot_1#snapshot_1是备份文件名称 |
|---|
| wps24.jpg |
1.2.3 .elasticdump方式
Elasticdump工具是依赖于npm进行安装的,可以参考如下地址进行安装:
https://www.cnblogs.com/itniwota/p/16011503.html
导出分词器
[root@localhost ~]# elasticdump --input=http://ip:9200/my_index --output=http://127.0.0.1:9200/my_index --type=analyzer
导出映射mapping
[root@localhost ~]# elasticdump --input=http://ip:9200/ --output=http://127.0.0.1:9200/ --all=true --type=mapping
导出全部数据
[root@localhost ~]# elasticdump --input=http://ip:9200/ --output=http://127.0.0.1:9200/ --all=true --type=data
如果集群配置了x-pack认证
[root@localhost ~]# elasticdump --input=http://user:password@ip:9200/ --output=http://user:password@127.0.0.1:9200/ --all=true --type=data
1 .3**.迁移注意事项**
ES数据迁移有两种情况:
一、ES版本不做变更,只是数据进行迁移;
二、ES版本升级,同时数据迁移至新版本ES中
上述三种方案皆可实现ES的数据迁移,在建议根据实际生产环境来决定时,请优先采用Rolling upgrades滚动升级的方式,并注意以下几点。


丰富多样的网上学习资源层出不穷;然而,在知识体系不够完善的情况下,在遇到问题时往往停留在表面理解,并且无法深入探究,则难以实现真正的技术进步。
如需获取系统化资料的朋友,请直接点击此链接访问:
单一者的能力可能较强;然而团队的力量往往能够带来更卓越的结果!无论你是IT行业的资深从业者还是对此领域充满热情的新手;我们都热忱欢迎你的加入!无论是技术交流、学习资源分享;还是职场经验探讨、大厂内推机会;亦或是面试辅导支持;我们都在为你提供一个专业化的平台;共同进步与成长!
,不再深入研究,那么很难做到真正的技术提升。**
有需求的朋友们都可以通过这个途径来下载所需系统化资料
一个人就能走得很快,而一群人就能走得更远!无论你是IT行业的资深从业者或是初学者,我们都欢迎您加入我们的大家庭(进行技术交流、获取学习资源、分享职场感悟、参与大厂内推以及提供面试辅导),让我们共同进步吧!
