Hadoop:如何直面大数据的挑战

作者: 大数据架构师 | 来源:发表于2019-06-11 20:48 被阅读17次

    Apache Hadoop通过简化数据密集、高度并行的分布式应用的实现来应对大数据带来的挑战。全球诸多企业、大学和其他组织都在使用Hadoop,它允许把分析任务划分为工作片段,并分派到上千台计算机上,提供快速的分析时间和海量数据的分布式存储。Hadoop为存储海量数据提供了一种经济的方式。它提供了一种可扩展且可靠的机制,用一个商用硬件集群来处理大量数据。而且它提供新颖的和更先进的分析技术,允许对不同结构的数据进行复杂的分析处理。

    Hadoop从以下几个方面区别于之前的分布式方案:

    数据预先就是分布式的。

    为了保证可靠性和可用性,数据在整个计算机集群中进行备份。

    数据处理力图在数据存储的位置进行,从而避免产生带宽瓶颈。

    此外,Hadoop提供一种简单的编程方式,将之前分布式实现中存在的复杂性进行抽象。其结果是,Hadoop为数据分析提供了一种强大的机制,包含以下几个方面:

    海量存储——Hadoop允许应用使用成千上万的计算机和PB数量级的数据。在过去的十年里,计算机专家已经意识到廉价的“商用”系统可以一起用于高性能计算应用,而这些运算以前只能由超级计算机来处理。将数以百计的“小型”计算机配置为集群,就能以相对低廉的价格获得总体上远远超过单个超级计算机的计算能力。Hadoop可以利用超过数千台机器的集群,以企业可以接受的价格提供庞大的存储和处理能力。

    支持快速数据访问的分布式处理——Hadoop集群提供高效存储海量数据能力的同时,还提供快速的数据访问。在Hadoop之前,并行计算应用在集群中的机器之间分布执行任务时面临着困难。这是因为此种集群执行模型依赖于需要极高I/O性能的共享数据存储。Hadoop把程序执行移向数据。将应用移向数据缓解了许多高性能挑战。此外,Hadoop应用通常被设计为顺序地处理数据。这避免了随机数据访问(磁盘寻道操作),进一步降低了I/O负载。

    可靠性、失效转移和可扩展性——过去,当使用机器集群时,并行应用的实现者们需要费尽心思来处理可靠性问题。尽管单一机器的可靠性相当高,但随着集群规模的增长,失效概率也在增加。在一个大集群(成千上万台机器)中,每天出现失效并不鲜见。鉴于Hadoop的设计和实现方式,一台机器失效(或者一组机器失效)将不会导致不一致的结果。Hadoop检测失效并重试执行(使用不同的节点)。此外,Hadoop内置的可扩展性允许无缝地向集群添加额外的 (修理好的)服务器,并且将它们用于数据存储和程序执行。

    对于多数Hadoop用户来说,Hadoop最重要的特性是业务逻辑程序与框架支持代码的清晰分离。对于想要关注业务逻辑的用户,Hadoop隐藏了框架的复杂性,为解决困难问题需要进行的复杂的、分布式的计算提供了一个简单易用的平台。

    相关文章

      网友评论

        本文标题:Hadoop:如何直面大数据的挑战

        本文链接:https://www.haomeiwen.com/subject/aymcfctx.html