我听说过很多关于 Hadoop 的信息,但是当谈到定义它是什么时,我感到很困惑。因为定义推迟了点对点的形式。
Hadoop 是从服务器到客户端提供文件的东西吗?
例如:如果我们为存储电子邮件的MAILDIR实施 Hadoop,Hadoop 是否可以帮助访问电子邮件并以超快的速度将其提供给客户端?可以这样使用吗?
你能告诉我simple words
什么是 Hadoop 及其用途吗?
我听说过很多关于 Hadoop 的信息,但是当谈到定义它是什么时,我感到很困惑。因为定义推迟了点对点的形式。
Hadoop 是从服务器到客户端提供文件的东西吗?
例如:如果我们为存储电子邮件的MAILDIR实施 Hadoop,Hadoop 是否可以帮助访问电子邮件并以超快的速度将其提供给客户端?可以这样使用吗?
你能告诉我simple words
什么是 Hadoop 及其用途吗?
伙计,你把这搞砸了。
Hadoop 是一个开源软件框架,用于存储和大规模处理商品硬件集群上的数据集。Hadoop 是一个由全球贡献者和用户社区构建和使用的 Apache 项目。
Apache Hadoop 框架由以下模块组成
Hadoop Common – 包含其他 Hadoop 模块所需的库和实用程序
Hadoop 分布式文件系统 (HDFS) – 一种分布式文件系统,将数据存储在商品机器上,在集群中提供非常高的聚合带宽。
对于最终用户,尽管 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 集群。这种情况很典型,因为每个节点都不需要存在数据节点。每个数据节点使用特定于 HDFS 的块协议通过网络提供数据块。文件系统使用 TCP/IP 套接字进行通信。客户端使用远程过程调用 (RPC) 在彼此之间进行通信。
HDFS 在多台机器上存储大文件(通常在 GB 到 TB 的范围内)。它通过跨多个主机复制数据来实现可靠性,因此理论上不需要主机上的 RAID 存储(但为了提高 I/O 性能,一些 RAID 配置仍然有用)。使用默认复制值 3,数据存储在三个节点上:两个在同一个机架上,一个在不同的机架上。数据节点可以相互通信以重新平衡数据、移动副本并保持数据的高复制。
HDFS 文件系统不限于 MapReduce 作业。它可以用于其他应用程序,包括 HBase 数据库、Apache Mahout 机器学习系统和 Apache Hive 数据仓库系统。理论上,Hadoop 可以用于任何类型的面向批处理而非实时的工作,即数据非常密集,并且能够并行处理数据片段。
Hadoop的商业应用包括:
可以参考YDN对 hadoop 框架有个很好的了解。