这篇文章主要是介绍如何将服务器本地的数据上传到阿里云OSS的指定bucket中,最重要的参考文档是数据迁移单机部署。我第一次上传数据到OSS上时,步骤要比前面的链接中介绍的要麻烦,ossimport工具还是v2.1,现在已经更新到了v2.2,而且阿里云的工程师将很多步骤封装了起来,因此流程简化了不少,大家可以直接参考前面的文档。我这份主要是针对linux服务器单机模式数据上传的,Windows的请直接移步前方链接。
1. 环境配置和工具下载
第一步,要确保Linux本地已经有了Java 1.7及以上的运行环境。查看本机java版本,使用命令 java -version 即可。如果没有,请去网上搜相应的安装教程,有很多,这个不难;
第二步,请从ossimport-2.2.1.zip此链接处下载ossimport工具,使用wget命令即可。
下载到本地后,新建一个my_oss_work文件夹,再利用下述命令
unzip -o ossimport-2.2.1.zip -d my_oss_work
将压缩文件解压到my_oss_work文件夹,完毕。
2. ossimport的相关配置
这一步主要是配置local_job.cfg和sys.properties这两个文件,它们都在上一步解压的my_oss_work/conf文件夹下。
第一步,修改local_job.cfg文件:首先,一定不要修改local_job.cfg的名称和位置,保持不动即可。然后利用vim打开该文件,更改如下设置
srcType=local //因为是本地上传,所以此处设置为local
srcPrefix=/home/my_name/my_data //这里是你本地需要上传的文件夹
destAccessKey=LTAI******bLeL //这个是你阿里云账户的access key,需要你去你的阿里云账户上去找
destSecretKey=A3Ludf*********qbvEUz08DR //这个是你阿里云账户的secret key,也需要你去你自己的账户上去查找。access key 和secret key都是用来对你的身份进行验证的,相当于你传数据到阿里云上时的钥匙,这个钥匙能唯一确定你的OSS
destDomain=http://oss-cn-beijing.aliyuncs.com //这一步很重要,这是你的endpoint,是由你的实际OSS区域确定的。如果你购买了阿里云ECS服务,且是将你ECS主机上的数据上传到OSS,那么这里设置http://oss-cn-beijing-internal.aliyuncs.com;如果你不仅购买了ECS,还设置有VPC专有网络,那么此处设置http://vpc100-oss-cn-beijing.aliyuncs.com;如果你是将自己的服务器(并不是阿里云的ECS主机)比如你学院里的机房上的数据上传到OSS,那么这里设置http://oss-cn-beijing.aliyuncs.com。这些信息都可以在你的OSS账户里面查到。endpoint中的beijing说明我购买的是OSS区域在华北,如果你的在杭州,那么就改为hangzhou。这些都是可以在你的账户里查到的。
destBucket=my_bucket //这是你的OSS的bucket名,你要把数据传到这个bucket上,注意,不要在bucket名字后面加斜线/
destPrefix=my_oss_data //这是你的目标文件夹,你要讲数据传到上面指定的my_bucket的my_oss_data文件夹下,注意此处文件夹开头不要加斜线/
jobName=local_test //这是你的任务名称,注意,此处不需要修改,保持不变即可!!ossimport v2.2单机模式要求这个名称不能更改!!
除了上面几个需要设置和注意以外,其它的都不需要动!保持不变即可!
第二步,修改sys.properties文件:
workerMaxThroughput(KB/s)=0 //这是设置你的上传速度上限,设置为0表示不限制。
注意,sys.properties中的配置项workingDir、workerUserName、workerPassword、privateKeyFile请不要修改!!保持不变即可!!
到此,ossimport的配置到此结束。
3. 运行ossimport和上传数据
使用下述命令
cd my_oss_work
切换到刚才解压的文件夹下,即与import.sh这个文件保持同级,你当前目录下存在着一个叫做import.sh的文件。这个文件将数据上传的操作封装在了一起,你无须管它里面写了什么,只要你前面local_job.cfg和sys_properties这两个文件正确设置了,那么运行命令
bash import.sh
ossimport工具就会依据你之前的设定,将你本地/home/my_name/my_data文件夹下的所有数据上传到你阿里云OSS的my_bucket的my_oss_data文件夹下。整个过程持续的时间,取决于你文件的大小和数量。
上传完毕之后,你就可以去你的OSS上去查看了。
4. 查看上传数据的状态
如果数据量很大,上传需要花费很多时间,我们就可以选择暂时断开连接。断开后,ossimport仍会继续上传数据。当我们再次登陆时,想看一下数据上传的进度,这时就可以切换到my_oss_work文件夹下(也即ossimport的工作目录下),执行下述命令
bash console.sh stat
如果数据仍在上传,则会显示出当前的工作状态和正在运行的任务;如果已经上传结束了,就会显示 JobState:Succeed
5. 其他情况
上述是一键上传,其实也可以逐步上传,这个数据迁移单机部署这个链接处也有介绍,但是要麻烦很多,不建议新手去尝试,直接采用上述一键上传的步骤即可。是否上传成功,取决于你在上面的每一步配置是否正确!!