Hadoop是生产实施的好例子

时间:2014-07-18 03:41:46

标签: hadoop filesystems maildir

我听说很多关于Hadoop但是当它定义它是什么时我会感到困惑。因为定义推迟了点到点。

Hadoop是服务于服务器到客户端的文件吗?

例如:如果我们为存储电子邮件的 MAILDIR 实施Hadoop,Hadoop可以帮助访问电子邮件并以超快的速度将其提供给客户端吗?这是怎么用的?

你能告诉我simple words什么是Hadoop及其用途?

1 个答案:

答案 0 :(得分:4)

老兄,你搞砸了。

Hadoop是一个开源软件框架,用于存储和大规模处理商用硬件集群上的数据集。 Hadoop是一个由贡献者和用户的全球社区构建和使用的Apache项目。

Apache Hadoop框架由以下模块组成

  1. Hadoop Common - 包含其他Hadoop模块所需的库和实用程序

  2. Hadoop分布式文件系统(HDFS) - 一种分布式文件系统,可在商用机器上存储数据,在整个群集中提供非常高的聚合带宽。

  3. Hadoop YARN - 一个资源管理平台,负责管理集群中的计算资源并将其用于用户的日程安排。的应用程序。
  4. Hadoop MapReduce - 一种用于大规模数据处理的编程模型。
  5. 对于最终用户来说,尽管MapReduce Java代码很常见,但任何编程语言都可以与" Hadoop Streaming"实施"地图"并且"减少"用户程序的一部分.Apache Pig,Apache Hive,Apache Spark以及其他相关项目分别暴露了Pig Latin和SQL变体等更高级别的用户界面。 Hadoop框架本身主要使用Java编程语言编写,其中一些本机代码在C中,命令行实用程序编写为shell脚本。

    Hadoop分布式文件系统(HDFS)是一个用Java编写的用于Hadoop框架的分布式,可扩展且可移植的文件系统。 Hadoop实例中的每个节点通常都有一个namenode;一组数据节点构成HDFS集群。这种情况很典型,因为每个节点都不需要存在datanode。每个数据节点使用特定于HDFS的块协议在网络上提供数据块。文件系统使用TCP / IP套接字进行通信。客户端使用远程过程调用(RPC)来相互通信。

    HDFS跨多台计算机存储大文件(通常在千兆字节到兆兆字节范围内)。它通过在多个主机上复制数据来实现可靠性,因此理论上不需要在主机上进行RAID存储(但为了提高I / O性能,某些RAID配置仍然有用)。使用默认复制值3,数据存储在三个节点上:两个位于同一机架上,另一个位于不同机架上。数据节点可以相互通信以重新平衡数据,移动副本以及保持数据复制的高度。

    HDFS文件系统不限于MapReduce作业。它可以用于其他应用程序,包括HBase数据库,Apache Mahout机器学习系统和Apache Hive数据仓库系统。从理论上讲,Hadoop可以用于任何类型的面向批处理的工作,而不是实时的,这是非常数据密集的,并且能够并行处理数据。

    Hadoop的商业应用包括:

    1. 各种日志和/或点击流分析
    2. 营销分析
    3. 机器学习和/或复杂数据挖掘
    4. 图像处理
    5. 处理XML消息
    6. 网页抓取和/或文字处理
    7. 一般存档,包括关系/表格数据,例如合规
    8. 您可以参考YDN来了解hadoop框架。