本文共 2010 字,大约阅读时间需要 6 分钟。
oss迁移我采用的是阿里提供的ossimport2工具
迁移采用的方式是单机迁移的方式,这种工具配置简单,迁移效率高
ossimport2工具配置文件结构大概如下:
├── bin│ └── ossimport2.jar 启动服务需要的jar├── conf 配置文件位置│ ├── local_job1.cfg 每一个cfg可以代表一个bucket│ ├── local_job.cfg│ └── sys.properties 配置任务运行的并发度以及资源分配├── console.bat ├── console.sh├── import.bat├── import.sh 系统的导入脚本,不需要更改工具中需要更改的文件是local_job.cfg:
其实在下载ossimport之后,里面的readme 会有详尽的配置项说明,此处我就不赘述了(ossimport2支持多种源端迁移 此处是以源端目标端都为oss为例)
#源端的类型srcType=oss#源access keysrcAccessKey=xxxx#源secrect key srcSecretKey=xxxx#源endpoint,srcDomain=http://xxxx#源bucket名字 srcBucket=xxx#目的 access keydestAccessKey=xxx#目的 secret keydestSecretKey=xxx#目的endpoint(不要加上bucket的名字)destDomain=http://xxx##目的bucket,不需要加上"/"destBucket=xxxx#job名字,每个任务唯一,不同的bucket起不同的名字jobName=local_testxx
sys.properties
一般不需要更改在oss帮助文档界面下载:
./ossutil64 ls --config-file ossconfigfile oss://bucketname``` # 启动**声明变量**
export work_dir=/dir of ossimport
**启动进程**nohup java -jar ${work_dir}/bin/ossimport2.jar -c ${work_dir}/conf/sys.properties start > ${work_dir}/logs/ossimport2.log 2>&1 &**启动任务**
查看任务状态java -jar $work_dir/bin/ossimport2.jar -c $work_dir/conf/sys.properties stat detail#校验> 迁移后需要对源端目标端的迁移数据进行校验,从数量以及内容两方面进行比对校验,确保迁移的一致性文件数校验
./ossutil64 ls oss://bucketname --config-file ./ossconfigfile | sed '/^Last/d' | grep Object >count.txt`
内容校验比对
oss内容校验采用比对etag的方式获取etag的方式如下:./ossutil64 ls oss://bucketname --config-file ./ossconfigfile | sed '/^Last/d' | awk '{print $7}' >etag.txt
数据量校验
./ossutil64 ls oss://bucketname --config-file ./ossconfigfile | sed '/^Last/d' | awk 'BEGIN {size=0} {size=size+$5} END{print "endsizeis",size/1024/1024,"M"}' >count_data.txt
校验中使用的ossconfigfile其实就是oss的鉴权信息,内容如下:
[Credentials]language=ENendpoint=http://ossxxxx.comaccessKeyID=xxxxxaccessKeySecret=xxxx
转载地址:http://cpwza.baihongyu.com/