Hadoop生产实施的好例子

问题描述:

我听说很多关于Hadoop的知识,但是当它定义什么时我会感到困惑。因为定义从一个点到另一个点。Hadoop生产实施的好例子

Hadoop是从服务器到客户端提供文件的东西吗?例如:如果我们为存储电子邮件的MAILDIR实施Hadoop,Can Hadoop可以帮助访问电子邮件并以超快速度将其提供给客户端?这是如何使用它?

你可以在simple words告诉我什么是Hadoop及其用途?

+1

将鼠标悬停在hadoop标签上,您将以简单的语言获得它。 – Banana

伙计你搞砸了。

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

阿帕奇Hadoop框架由下列模块

  1. Hadoop的常见的 - 包含由其他的Hadoop模块

  2. Hadoop分布式文件系统(HDFS)所需的库和公用事业 - 分布式文件级系统存储商品机器上的数据,在整个集群中提供非常高的总带宽。

  3. Hadoop YARN - 一种资源管理平台,负责管理群集中的计算资源并将其用于调度用户的应用程序。
  4. Hadoop MapReduce - 大规模数据处理的编程模型。

对于最终用户,尽管MapReduce Java代码很常见,但任何编程语言都可以与“Hadoop Streaming”一起使用,以实现用户程序的“map”和“reduce”部分。Apache Pig,Apache Hive,Apache Spark等其他相关项目分别公开更高级别的用户界面,例如Pig Latin和SQL变体。 Hadoop框架本身大部分都是用Java编程语言编写的,C语言中的一些本地代码和命令行实用程序被编写为shell脚本。

Hadoop分布式文件系统(HDFS)是一个分布式的,可伸缩的,可移植的文件系统,用Java编写,用于Hadoop框架。 Hadoop实例中的每个节点通常都有一个名称节点;一组数据节点形成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. Web爬行和/或文本处理
  7. 一般归档,包括关系/表格数据,例如合规

您可以参考YDN以了解hadoop框架。