1、生产环境有一套Nebula2.5.1集群A,这个集群上部署了很多space,s1、s2、s3归不同的服务所有;
2、另外有一套Nebula3.6.0集群B
3、目前服务改造,想依次把s1、s2、s3进行版本升级,迁移到集群B上
请问用什么工具可以跨版本对数据进行迁移?用过exchange导过hive,也用过spark进行同版本之间迁移;spark是否支持从2.5读,然后写入3.6呢? 或者要迂回下,先用spark导到hive,再用exchange写入。。
1、生产环境有一套Nebula2.5.1集群A,这个集群上部署了很多space,s1、s2、s3归不同的服务所有;
2、另外有一套Nebula3.6.0集群B
3、目前服务改造,想依次把s1、s2、s3进行版本升级,迁移到集群B上
请问用什么工具可以跨版本对数据进行迁移?用过exchange导过hive,也用过spark进行同版本之间迁移;spark是否支持从2.5读,然后写入3.6呢? 或者要迂回下,先用spark导到hive,再用exchange写入。。
这个不支持哦,目前只能先升级内核,你可以看下社区的版本升级文档。
据说这个是支持的。
本质上spark-connector导出导入共用了一个版本的nebula-client,那么只要这nebula-client同时操作两个版本的nebula,那么就没问题:
1.试试nebula-client 3.6能否scan 2.5的版本,如果可以那就使用spark-connector针对3.x版本
2.试试nebula-client 2.5版本连接3.x nebula版本并可以执行nGQL,那么就可以使用spark-connetor针对2.5的版本
3.增强spark-conntor,导出2.5版本的数据写入mq,然后启动另外一个消费者写入3.6的nebula
4.自己写scan代码,导出2.5版本的数据写入mq,然后启动另外一个消费者写入3.6的nebula
5.那就按照官方文档去做正常的nebula升级,我们这边做过2.x升级到3.6的原地升级,是可行的(注意备份数据metad和storaged)
多谢,列出了所有的方法。
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。