通常在建構系統中,擴充新服務,在遷移過程,有時會需要將雲端資料進行搬移
最近剛好一個系統需要將GCP上面的Storage資料遷移到阿里雲OSS
在這裡做一個紀錄
使用工具
OssImport
這裡是官方介紹:
OssImport工具可以將本地、其它雲存儲的數據遷移到OSS,它有以下特點:
支持的豐富的數據源,有本地、七牛、百度BOS、AWS S3、Azure Blob、又拍雲、騰訊雲COS、金山KS3、HTTP、OSS等,並可根據需要擴展; 支持斷點續傳; 支持流量控制; 支持遷移指定時間後的文件、特定前綴的文件; 支持並行數據下載、上傳; 支持單機模式和分佈式模式,單機模式部署簡單使用方便,分佈式模式適合大規模數據遷移。
環境
需要安裝 JAVA 7 以上的環境
模式
在 OssImport 提供單機跟分佈式 兩種數據遷移方式
如果資料是 30TB以內的小規模數據遷移,可以下載單機版 資料超過 30TB 以上,則適合分佈式遷移方式,可以下載分佈式版 分佈式遷移的概念如下:
Master --------- Job --------- Console
|
|
TaskTracker
|_____________________
|Task | Task | Task
| | |
Worker Worker Worker
在這裏,我所使用的是單機版 ossimport-2.3.1
下載之後,解壓縮可以看到文件結構:
ossimport
├── bin
│ └── ossimport2.jar # 包括Master、Worker、Tracker、Console四个模块的总jar
├── conf
│ ├── local_job.cfg # 单机Job配置文件
│ └── sys.properties # 系统运行参数配置文件
├── console.bat # Windows命令行,可以分布执行调入任务
├── console.sh # Linux命令行,可以分布执行调入任务
├── import.bat # Windows一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
├── import.sh # Linux一键导入,执行配置文件为conf/local_job.cfg配置的数据迁移任务,包括启动、迁移、校验、重试
├── logs # 日志目录
└── README.md # 说明文档,强烈建议使用前仔细阅读
在這裏面可以看到幾個腳本檔案 一鍵導入腳本: import.sh (or import.bat) 分佈式執行腳本:console.sh (or console.bat)
另外有一個設定檔,local_job.cfg 需要修改內容
設定完畢後,就可以開始執行腳本,要留意的是,腳本執行必須在 ossimport 目錄底下完成
參考: https://help.aliyun.com/knowledge_detail/39628.html https://help.aliyun.com/document_detail/56990.html?spm=5176.7739628.2.3.o3NvMc