加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

怎样将数据移入和移出Hadoop?

发布时间:2018-10-13 15:09:48 所属栏目:教程 来源:赵钰莹
导读:【新产物上线啦】51CTO播客,随时随地,碎片化进修 企业在项目中完全行使Hadoop之前,数据移动是必需办理的工作之一。怎样将数千台主机日记数据放入Hadoop?从相关型可能No/NewSQL体系以及Hadoop中获取数据的最有用要领是什么?怎样将Hadoop中天生的Lucene索

行使NFS网关时必要思量以下几点:

  • HDFS是仅冈蹲隳件体系。可以附加到文件,但不能执行随机写入。假如必要行使支持随机写入的文件体系来行使Hadoop,那么应该看看MapR的Hadoop distribution。
  • Hadoop 2.2版不支持Hadoop安详验证(Kerberos),而且有一个添加该支持的开放票证。
  • 在Hadoop 2.4(或3.0)之前,不支持署理用户。这实质上意味着早年版本的Hadoop将以超等用户身份执行全部呼吁,由于要求NFS网关作为与HDFS自己沟通的用户运行。

因为这些限定,提议将NFS网关保存用于尝试用途,可能用于不思量用户级安详性的单租户集群。

行使DistCp在集群内和集群间复制数据

假如移入或移出Hadoop的数据量很大,通过单个主机搜集数据,必然要尽也许优化数据移动。DistCp可以在Hadoop集群之间以及收支NFS安装的数据之间高效复制数据。

题目

在Hadoop集群之间高效复制大量数据,而且举办增量复制。

办理方案

行使DistCp,一种内置于Hadoop中的并行文件复制器材。

接头

本节,我们将起首先容DistCp的重要设置。之后,我们将继承查察行使DistCp的特定方案,以及设置和运行DistCp的最佳要领。

此技能涵盖了Hadoop 2中可用的DistCp新版本,名为DistCp 2。此代码被反向移植到Hadoop 1.2.0中,可通过行使distcp2作为呼吁启用Hadoop 2来替代现有的DistCp,然后就可以正常行使distcp呼吁。

DistCp 2支持与DistCp的旧版内情同的呼吁行参数集,并带来了很多有效的上风:

  • 行使大量文件时镌汰了配置和执行时刻,由于驱动措施不再必要预处理赏罚全部输入(此刻这已推迟到mapper)。
  • 具有成果一切的Java接口,无需Java客户端将参数序列化为字符串。
  • 原子提交应承所有复制语义。
  • 行使-update跳过方针中已存在的文件,假如文件属性与源文件差异,将导致文件属性产生变动。
  • 作为副本的一部门,不再跳过空目次。

DistCp行使仅map的MapReduce功课来执行复制。以下是一个很是简朴的示例,在单个Hadoop集群顶用于将源目次,/ hello,复制到方针目次,/world:

  1. $ hadoop distcp /hello /world 

假如/ world目次尚不存在,则此呼吁将建设/ world目次,然后将/ hello(其全部文件和目次递归)的内容复制到/ world。

处理赏罚已存在的方针文件

方针中已存在的文件和目次保持稳固(纵然文件差异)。

可以通过查察功课完成时转储到尺度输出的SKIP计数器来查察跳过的文件数:

怎样将数据移入和移出Hadoop?

-update和-overwrite参数奇妙地改变了复制内容的举动。假如没有这些选项,假如源是目次,则在方针目次下建设该目次。行使-update或-overwrite参数,仅复制文件和子目次,而不复制源目次。通过一个例子证明这一点:

怎样将数据移入和移出Hadoop?

忽略错误

当行使DistCp复制大量文件时,行使-i符号执行呼吁以忽略错误是明智的。这样,单个错误不会导致整个复制进程失败,可以通过行使-update选项从头发出沟通的DistCp呼吁来再次实行复制失败文件。

动态复制计策

DistCp的默认举动是通过匀称地撒播全部文件以使全部mapper复制大抵沟通的字节数来为每个mapper预分派事变。从理论上讲,这听起来像是一种公等分派事变的好要领,但现实上,诸如硬件,硬件错误和设置不良等身分每每导致长尾事变执行,少数落伍的mapper占用时刻比其他要长。

行使DistCp 2,可以行使更换计策,个中mapper直接吸取事变而不是预先分派,这被称为动态复制计策,行使-strategy动态参数激活,添加此参数的结果是改造复制时刻。

原子提交

DistCp 2的另一个有效成果是原子提交。DistCp默认将每个文件写入姑且文件,然后移动到最终方针。这意味着无法除掉在功课中碰着错误之前复制的文件。

因此,原子提交应承在复制全部文件时将现实的“提交”推迟到功课竣事,这样假如碰着错误,你将看不到任何部门写入,可以行使-atomic参数启用此成果。

并行性和mapper数目

今朝,DistCp最细的事变单位是文件级别。因此,无论文件多大,都只行使一个mapper来复制,进步功课的mapper数目对进步复制速率没有任何影响。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读