``在druid.io的开发过程中,遇到需要将druid.io的某个dataSource数据迁移到另外一个集群的问题,在开发过程中,发现一种解决方式,其具体实步骤如下:
第一步:将需要迁移的dataSource的segment复制一份到另外一个druid.io集群的segment存储目录下,我们是存在OSS目录下的, 所以可以使用OSS的工具复制到新目录就可以了.
第二步:将老druid.io集群上的元数据导出一份,然后倒入到新集群的元数据存储的数据库中,
第三步:由于元数据中druid_segments表中的payload字段的segment的存储路径仍然指向原来的就群的segment的存储路径,所以在这里我们需要,使用新集群的druid.io的segment的存储路径替换原来路径
update druid_segments set `payload` = replace(payload,'oss://icsoc-emr-hadoop/druid/','oss://icsoc-emr-hadoop/druid-test/')
例如该示例中就是将oss://icsoc-emr-hadoop/druid/ 替换为oss://icsoc-emr-hadoop/druid-test/
按照上面的操作,就完成了一个土方法,实现druid.io集群迁移.
备注:
上面的元数据迁移,也可以根据自己的个人需要迁移,并不一定要把所有的表都导入新集群的原始数据中,正常情况下只需要到入druid_segment表,就可以完成集群的基本迁移了.
https://support.imply.io/hc/en-us/articles/115004960053-Migrate-existing-Druid-data-to-a-new-Imply-cluster