阿里云OSS数据同步工具OssImport的使用笔记

37次阅读
没有评论

共计 2207 个字符,预计需要花费 6 分钟才能阅读完成。

OssImport 是什么,可以用来干什么?

以下是阿里云官方对 OssImport 工具的描述:

OssImport 工具可以将本地、其它云存储的数据迁移到 OSS,它有以下特点:

支持的丰富的数据源,有本地、七牛、百度 BOS、AWS S3、Azure Blob、又拍云、腾讯云 COS、金山 KS3、HTTP、OSS 等,并可根据需要扩展;
支持断点续传;
支持流量控制;
支持迁移指定时间后的文件、特定前缀的文件;
支持并行数据下载、上传;
支持单机模式和分布式模式,单机模式部署简单使用方便,分布式模式适合大规模数据迁移。

OssImport 下载安装

# 在当前工作目录下创建 ossimport 目录
mkdir ossimport
cd ossimport

# 下载解压
wget http://gosspublic.alicdn.com/ossimport/standalone/ossimport-2.3.1.zip
unzip ossimport-2.3.1.zip

# 查看 ossimport 的目录结构
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           # 说明文档,强烈建议使用前仔细阅读

OssImport 单机模式配置

此配置文件大部分配置项采用默认值即可,以下只罗列需要修改的配置项,即本地待同步目录以及 OSS 目的端信息

vim conf/local_job.cfg
# 源前缀,默认为空,如果 srcType=local,则此目录是本地目录,如果是其他类型,则是源 Bucket 里需要同步的 Object 的前缀, 注意如果是本地目录,需要完整目录路径 (以 '/' 进行分割并且以 '/' 结尾, 例: c:/example/)
srcPrefix=/home/admin/logs/bak/nginx_bak/

#目的 access key
destAccessKey=Jwd1******nMnZBs

#目的 secret key
destSecretKey=ir8Qt*****jwh5b0eF******xM5QE

#目的 endpoint, 请根据您的实际 oss 区域填写,默认为杭州的域名, 如果用阿里云 ecs 虚拟机做迁移的,请使用 internal 域名,不计费且不受虚拟机带宽限制 (非虚拟机无法使用);例:http://oss-cn-hangzhou-internal.aliyuncs.com
#注意: 域名里不要带上 bucket 前缀,oss 域名帮助页面:https://help.aliyun.com/document_detail/31837.html
destDomain=http://oss-cn-hangzhou-zmf.aliyuncs.com

#目的 bucket,不需要加上 "/"
destBucket=mybucket

#目标前缀,默认为空,直接放在 bucket 下 ( 如果要将数据同步到 oss 的某个目录下,请以 '/' 结尾), 注意:oss 不支持以 '/' 作为文件的开头,所以 destPrefix 请不要配置以 '/' 做为开头
#一个本地文件路径为 srcPrefix + relativePath 的文件,迁移到 oss 的路径为 destDomain/destBucket/destPrefix + relativePath
#一个云端文件路径为 srcDomain/srcBucket/srcPrefix + relativePath 的文件,迁移到 oss 的路径为 destDomain/destBucket/destPrefix + relativePath
destPrefix=docs/

#数据迁移时,是否跳过已经存在的文件。当设置为 true 时,根据文件的 size 和 LastModifiedTime 判断是否跳过;为 false 时,总是覆盖 OSS 上已有文件。jobType 为 audit 时此项不生效。isSkipExistFile=true

同步本地文件到 OSS 的配置示例文件:https://github.com/aliyun/ossimport/blob/master/conf/local/job.cfg

执行数据同步

# 执行 import.sh 脚本,启动文件同步
sh import.sh

# 也可以为 import.sh 脚本添加可执行权限,然后直接执行
chmod +x import.sh
./import.sh

参考

  1. 阿里云 OssImport 官方文档:https://help.aliyun.com/document_detail/56990.html

原文:https://www.cxyzjd.com/article/SparkLee2013/84786592

正文完
觉得有用?欢迎赞赏,感谢!
post-qrcode
 0
苏维歌
版权声明:本站原创文章,由 苏维歌 于2022-06-06发表,共计2207字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码