• Linux本地数据上传到阿里云OSS


    这篇文章主要是介绍如何将服务器本地的数据上传到阿里云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. 其他情况

    上述是一键上传,其实也可以逐步上传,这个数据迁移单机部署这个链接处也有介绍,但是要麻烦很多,不建议新手去尝试,直接采用上述一键上传的步骤即可。是否上传成功,取决于你在上面的每一步配置是否正确!



    作者:余含军
    链接:https://www.jianshu.com/p/ab75de4cb1a6
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    Linux的常用shell命令
    SpringBoot打包第三方本地jar包
    vscode显示扩展宿主意外终止
    远程总是断的原因
    MySQL Online DDL 梳理
    MySQL 线程池总结(转发)
    MySQL Online DDL 原理
    bandit工具分析
    在我们写sql时候,where in 中的条目数超过1000条时候会报ORA_01795
    安装程序失败“请求添加或删除指定服务器上的功能失败”
  • 原文地址:https://www.cnblogs.com/houweijian/p/9877828.html
Copyright © 2020-2023  润新知