怎样将数据移入和移出Hadoop?
值得一提的是WebHDFS提供的一些附加成果。起首,文件的第一个块存放数据位置。NameNode将客户端重定向到承载第一个块的DataNode,提供强盛的数据位置。对付文件中的后续块,DataNode充当署理,并将数据流入生涯块数据的节点或从中生涯数据。 WebHDFS还与Hadoop的安详身份验证集成,这意味着可以启用Kerberos并在HTTP哀求中行使委派令牌。另外,API将保持跨Hadoop版本的兼容性,这意味着今朝宣布的呼吁将合用于将来版本的Hadoop(反之亦然)。 这是一个有效的器材,用于会见运行差异Hadoop版本的多个集群。 ![]() 表5.1 WebHDFS库 当客户端可以会见全部NameNode和DataNode时,WebHDFS很是有效。在锁定情形中,环境也许并非云云,也许必要查察HttpFS。 从防火墙后头会见HDFS 出产Hadoop情形凡是被锁定以掩护这些集群中的数据。部门安详措施也许包罗将集群置于防火墙之后,假如实行从防火墙外部读取或写入HDFS,这将是一件贫困事。 这种技能着眼于HttpFS网关,它可以行使HTTP(凡是在防火墙上打开)提供HDFS会见。 题目 想要写入HDFS,但有一个防火墙限定对NameNode或DataNode的会见。 办理方案 行使HttpFS网关,它是一个独立的处事器,可通过HTTP提供对HDFS的会见。由于它是一个单独的处事并且是HTTP,以是可以设置为在任何可以会见Hadoop节点的主机上运行,而且可以打开防火墙法则以应承流量随处事。 接头 HttpFS很是有效,由于它不只应承行使REST会见HDFS,并且具有完备的Hadoop文件体系实现,这意味着可以行使CLI和本机HDFS Java客户端与HDFS举办通讯,如图5.2所示。 ![]() 图5.2 HttpFS网关架构 要启动并运行HttpFS,必需指定署理用户。这是将运行HttpFS历程的用户,此用户也将在Hadoop中设置为署理用户。假设有一个名为foxyproxy的用户,你将其指定为署理用户。你用以下代码更新core-site.xml: ![]() 根基上,这表白Hadoop应该只接管来自主机localhost的署理哀求,而且foxyproxy可以假充任何用户(你可以通过提供以逗号脱离的组列表来锁定可以模仿的用户集名)。变动用户名,主机和组值,以便它们在情形中故意义。 在对core-site.xml举办变动后,我们必要启动HttpFS历程:
此刻,可以行使WebHDFS发出与之前技能中沟通的curl呼吁。这是关于HttpFS网关的甜头之一 :语法完全沟通。要在根目次上执行目次列表,必要执行以下操纵: ![]() 此curl呼吁与先前技能中行使的curl呼吁的独一区别是端标语。默认环境下,HttpFS在端口14000上运行,但可以通过编辑httpfs-env.sh来变动。表5.2中表现了可以在文件中变动的一些风趣属性。 ![]() 表5.2 HttpFS属性 可以在httpfs-site.xml中设置其他Kerberos以及用户和组级别配置。 WebHDFS和HttpFS之间的差别 WebHDFS和HttpFS之间的首要区别在于客户端对全部数据节点的可会见性。假如客户端可以会见全部数据节点,那么WebHDFS将正常事变,由于读取和写入文件涉及客户端直接与数据节点通讯以举办数据传输。另一方面,假如位于防火墙之后,客户端也许无法会见全部数据节点,在这种环境下,HttpFS选项最得当。行使HttpFS,处事器将与数据节点通讯,客户端只必要与单个HttpFS处事器通讯。 假如可以,请选择WebHDFS,由于客户端直接与数据节点通讯具有固有的上风:这应承轻松扩展多个主机并发客户端数目,而不会碰着通过HttpFS流式传输数据的收集瓶颈。假如客户端自己在数据节点上运行,则更是云云,由于将通过直接从当地文件体系而不是收集流式传输当地托管的HDFS数据块来行使WebHDFS的上风。 行使NFS挂载Hadoop 凡是,假如Hadoop数据可以作为文件体系的通例安装来会见,那么行使Hadoop数据要轻易得多。这应承行使现有剧本,器材和编程说话,并与HDFS中的数据举办交互。本节先容怎样行使NFS挂载轻松地将数据复制到HDFS中和从HDFS复制数据。 题目 将HDFS视为通例Linux文件体系,并行使尺度Linux器材与HDFS举办交互。 办理方案 行使Hadoop的NFS实现来会见HDFS中的数据。 接头 在Hadoop 2.1之前,NFS安装HDFS的独一要领是行使FUSE。因为各类机能和靠得住性题目,不提议将其用于一样平常用途。它还引入了特另外承担,要求在任何客户端计较机上安装驱动措施(换句话说,它没有提供NFS网关)。 Hadoop中的新NFS实现办理了旧的基于FUSE体系的全部弱点。这是一个吻合的NFSv3实现,应承运行一个或多个NFS网关以进步可用性和吞吐量。 要启动并运行NFS处事,起首必要遏制在主机上运行的NFS处事。在Linux体系上,可以行使以下呼吁实现: ![]() ![]() 图5.3 Hadoop NFS (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |