开发者社区> 云无谓> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

一个助Hadoop集群数据快速上云工具

简介: 当前业界有很多公司是以Hadoop技术构建数据中心,所以本文将探讨如何快速的将Hadoop文件系统(HDFS)上的数据迁移到云上。
+关注继续查看

背景

越来越多的公司和企业希望将业务迁移到云上,同时业务数据也希望能更顺畅的迁移到云上。

当前业界有很多公司是以Hadoop技术构建数据中心,所以本文将探讨如何快速的将Hadoop文件系统(HDFS)上的数据迁移到云上。

在阿里云上使用最广泛的存储服务是OSS对象存储。OSS的数据迁移工具ossimport2可以将您本地或第三方云存储服务上的文件同步到OSS上,但这个工具无法读取Hadoop文件系统的数据,无法发挥Hadoop分布式的特点。并且因为工具只支持本地文件,所以需要将HDFS上的文件先下载到本地,再通过工具上传,整个过程耗时又耗力。

工具介绍

本文介绍一个从Hadoop集群直接迁移数据到OSS上的工具,该工具由阿里云E-MapReduce团队开发,基于Hadoop社区中常用的DistCp工具,并从E-MapReduce产品中剥离出了一个常见的功能,做成工具开放给全体阿里云客户使用。

0) 环境准备
确保当前机器可以正常访问你的Hadoop集群,也就是说,可以用hadoop命令访问HDFS:
hadoop fs -ls /

1) 下载和安装:
下载附件中的emr-tools.tar.gz工具,并解压缩到本地目录:
tar jxf emr-tools.tar.bz2

2) HDFS数据复制到OSS上:
cd emr-tools
./hdfs2oss4emr.sh /path/on/hdfs oss://accessKeyId:accessKeySecret@bucket-name.oss-cn-hangzhou.aliyuncs.com/path/on/oss

其中accessKeyId和accessKeySecret是你访问阿里云API(包括OSS等云产品)的密钥,bucket-name.oss-cn-hangzhou.aliyuncs.com是OSS的访问域名,包括bucket名称和所在Region的endpoint地址。如果参数都正确,则会启动一个Hadoop MapReduce任务(DistCp),作业运行完毕之后会打印本次数据迁移的信息:

17/05/04 22:35:08 INFO mapreduce.Job: Job job_1493800598643_0009 completed successfully
17/05/04 22:35:08 INFO mapreduce.Job: Counters: 38

    File System Counters
            FILE: Number of bytes read=0
            FILE: Number of bytes written=859530
            FILE: Number of read operations=0
            FILE: Number of large read operations=0
            FILE: Number of write operations=0
            HDFS: Number of bytes read=263114
            HDFS: Number of bytes written=0
            HDFS: Number of read operations=70
            HDFS: Number of large read operations=0
            HDFS: Number of write operations=14
            OSS: Number of bytes read=0
            OSS: Number of bytes written=258660
            OSS: Number of read operations=0
            OSS: Number of large read operations=0
            OSS: Number of write operations=0
    Job Counters
            Launched map tasks=7
            Other local map tasks=7
            Total time spent by all maps in occupied slots (ms)=60020
            Total time spent by all reduces in occupied slots (ms)=0
            Total time spent by all map tasks (ms)=30010
            Total vcore-milliseconds taken by all map tasks=30010
            Total megabyte-milliseconds taken by all map tasks=45015000
    Map-Reduce Framework
            Map input records=10
            Map output records=0
            Input split bytes=952
            Spilled Records=0
            Failed Shuffles=0
            Merged Map outputs=0
            GC time elapsed (ms)=542
            CPU time spent (ms)=14290
            Physical memory (bytes) snapshot=1562365952
            Virtual memory (bytes) snapshot=17317421056
            Total committed heap usage (bytes)=1167589376
    File Input Format Counters
            Bytes Read=3502
    File Output Format Counters
            Bytes Written=0
    org.apache.hadoop.tools.mapred.CopyMapper$Counter
            BYTESCOPIED=258660
            BYTESEXPECTED=258660
            COPY=10

copy from /path/on/hdfs to oss://accessKeyId:accessKeySecret@bucket-name.oss-cn-hangzhou.aliyuncs.com/path/on/oss does succeed !!!

作业完成后,可以用osscmd等工具查看OSS上数据情况:

osscmd ls oss://bucket-name/path/on/oss

3) OSS数据复制到HDFS:
同样的,如果已经在阿里云上搭建了Hadoop集群,可以方便的把数据从OSS上迁移到新的Hadoop集群

./hdfs2oss4emr.sh oss://accessKeyId:accessKeySecret@bucket-name.oss-cn-hangzhou.aliyuncs.com/path/on/oss /path/on/new-hdfs

4) 其他说明:
这个工具同时兼容Hadoop 2.4.x、2.5.x、2.6.x、2.7.x等版本,如果有其他Hadoop版本兼容性的需求,可以直接联系我们。

更多使用场景

除了线下的集群,阿里云ECS上搭建的Hadoop集群也可以用这个工具,借助它可以很方便的将自建集群迁移到阿里云E-MapReduce服务上。E-MapReduce是由阿里云专业的大数据团队提供的Hadoop/Spark服务,提供了包括集群管理、作业管理、Hive表管理、监控报警等丰富的功能,将客户从繁琐的Hadoop集群运维工作中解放出来。当前阿里云E-MapReduce服务在ECS机器费用之外并没有额外收费,可以直接创建集群使用。

如果你现有集群已经在阿里云上ECS上,但是在经典网络中,无法和VPC中的服务做很好的互操作,所以想把集群迁移到VPC中。此时,你可以先用本工具迁移数据到OSS上,然后需在VPC环境中新建一个集群(自建或使用E-MapReduce服务),再将数据从OSS上迁移到新的HDFS集群中。

如果你使用E-MapReduce服务,还可以直接在Hadoop集群中通过SparkMapReduceHive等组件访问OSS,这样不仅可以减少一次数据复制(从OSS到HDFS),还可以极大的降低存储成本(详见云栖社区博客

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

附件下载:https://developer.aliyun.com/topic/download?id=450

相关文章
推荐一个Mac上的软件卸载工具
上一篇推文,强哥讲述了如何处理Mac上V2rayU闪退的问题,整个过程可以说是既煎熬又痛苦。前期的重启、卸载、重安等步骤就如盲人摸象一样毫无章法可言,完全体现不出任何水准。
28 0
【数据库审计】Hadoop架构下的数据库审计
原标题:Hadoop架构下的数据库审计难在哪里 ——大数据渗透到各个行业领域,逐渐成为一种生产要素发挥着重要作用,成为未来竞争的制高点。 在大数据时代下,信息和数据的分析处理都会变得比以前更加繁杂,管理起来也更加麻烦。
1162 0
《Hadoop海量数据处理:技术详解与项目实战(第2版)》一导读
2013年被称为“大数据元年”,标志着世界正式进入了大数据时代,而就在这一年,我加入了清华大学苏州汽车研究院大数据处理中心,从事Hadoop的开发、运维和数据挖掘等方面的工作。从出现之日起,Hadoop就深刻地改变了人们处理数据的方式。
1107 0
Ruby自动文档工具 RDoc 3.3 发布
Rdoc是针对Ruby源代码的文档系统。Rdoc可以读取源代码文件,分析源代码中的语法信息和注释文本,生成html格式的文档。Ruby的内建库和标准文档都是用RDoc生成的。我们可以用命令访问。如果用RubyGems来安装Rails的,运行gem server ,可以看到(Server started at http://0.0.0.0:8808)然后我们用浏览器访问http://localhost:8808 rake doc:app 命令可以为Rails项目创建html格式的文档,并将其放在doc/aap目录下。
564 0
+关注
11
文章
1
问答
来源圈子
更多
E-MapReduce是构建于阿里云ECS弹性虚拟机之上,利用开源大数据生态系统,包括Hadoop和Spark,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。加入钉钉群聊阿里云E-MapReduce交流2群,点击进入查看详情 https://qr.dingtalk.com/action/joingroup?code=v1,k1,cNBcqHn4TvG0iHpN3cSc1B86D1831SGMdvGu7PW+sm4=&_dt_no_comment=1&origin=11
+ 订阅
相关文档: E-MapReduce
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载