需求:A账号下 有OSS附件 需要迁移到 B账号下 ,A账号oss在杭州 B账号oss在青岛
操作环境 : 推荐 阿里云ECS云服务器 Centos7.x x64以上版本
操作方法:
1.使用阿里云的Ossimport工具,
单机模式:当您需要迁移的数据小于30TB时,推荐部署单机模式。您可以将ossimport部署在任意一台可以访问您待迁移数据,且可以访问OSS的机器上。下载地址
分布式模式:当您需要迁移的数据大于30TB时,推荐使用分布式模式。您可以将ossimport部署在任意多台可以访问您待迁移数据,且可以访问OSS的机器上。下载地址
2.安装java
3.下载工具,解压缩
工具文件结构
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 # 说明文档,强烈建议使用前仔细阅读
其中:
Job:用户通过提交的数据迁移任务,对用户来说一个任务对应一个配置文件job.cfg。
Task:Job按照 “数据大小” 和 “文件个数” 可以分成多个 Task ,每个 Task 迁移部分文件。Job切分成Task的最小单位是文件,同一个文件不会切分到多个Task中。
注意:
执行命令时请保证工作目录为 import.sh 的同级目录,即直接执行 bash import.sh
4.修改local_job.cfg
- isIncremental=false #不开启增量模式
-
- srcAccessKey=ADSCVSDdc8OOFwececHd5 #配置源oss的access key
- srcSecretKey=fjOKSDksdxceca8O57wdmPV #配置源oss的SecretKey
- srcDomain=http://oss-cn-hangzhou-internal.aliyuncs.com #配置源oss的内网地址(和操作的ECS服务器在一个区域时填)
- srcBucket=abcimg #配置源Bucket名称
- srcPrefix=
-
- destAccessKey=LTAIabQkcs7sxZqMd #配置目标access key
- destSecretKey=aPKlasdfickv9wsd23ZOUKo4sd #配置目标secret key
- destDomain=http://oss-cn-hangzhou-internal.aliyuncs.com #配置目标oss的内网地址(和操作的ECS服务器在一个区域时填)
- destBucket=abcoss #配置目标bucket名称
- destPrefix=
复制代码
如不指定同步目录请 srcPrefix和destPrefix设置 为空
如果ECS和OSS不在一个区域,注意源地址或目标地址记得填外网地址(会有流量费用),否则会执行是 一直循环DispatchedTasks 不报错且不同步文件(跑几天都还是一个样,完全是个天大的BUG)。
5.执行迁移
- cd /root/ossimport
- /bin/bash import.sh
复制代码
提示:
Job运行信息,可以查看log/ossimport2.log。
Task的失败原因,可以查看master/jobs/${JobName}/failed_tasks/${TaskName}/audit.log。
Task的失败文件,可以查看master/jobs/${JobName}/failed_tasks/${TaskName}/error.list。
|
|
|
|
|