我听说很多关于Hadoop但是当它定义它是什么时我会感到困惑。因为定义推迟了点到点。
Hadoop是服务于服务器到客户端的文件吗?
例如:如果我们为存储电子邮件的 MAILDIR 实施Hadoop,Hadoop可以帮助访问电子邮件并以超快的速度将其提供给客户端吗?这是怎么用的?
你能告诉我simple words
什么是Hadoop及其用途?
答案 0 :(得分:4)
老兄,你搞砸了。
Hadoop是一个开源软件框架,用于存储和大规模处理商用硬件集群上的数据集。 Hadoop是一个由贡献者和用户的全球社区构建和使用的Apache项目。
Apache Hadoop框架由以下模块组成
Hadoop Common - 包含其他Hadoop模块所需的库和实用程序
Hadoop分布式文件系统(HDFS) - 一种分布式文件系统,可在商用机器上存储数据,在整个群集中提供非常高的聚合带宽。
对于最终用户来说,尽管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的商业应用包括:
您可以参考YDN来了解hadoop框架。