什么是Hadoop
- Hadoop 是一个开源的分布式计算和存储框架,由 Apache 基金会开发和维护。
- Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。
- Hadoop 使用 Java 开发,所以可以在多种不同硬件平台的计算机上部署和使用。其三大核心组件:HDFS 、MapReduce、YARN。
Hadoop的架构
Hadoop Common:这些是其他Hadoop模块所需的Java库和实用程序。这些库提供文件系统和操作系统级抽象,井包含启动Hadoop所需的Java文件和脚本。
Hadoop YARN:这是个用于作业调度和集群资源管理的框架。
Hadoop Dsributed File System (HDFS"):分布式文件系统,提供对应用程序数据的高吞吐量访问。
Hadoop MapReduce:这是基于YARN的用于并行处理大数据集的系统。
Hadoop是如何工作?
建立重配置,处理大规模处理服务器这是相当昂贵的,但是作为替代,可以联系许多普通电脑采用单CPU在一起,作为一个单一功能的分布式系统,实际上,集群机可以平行读取数据集,并提供一个高得多的吞吐量。那么我们得到便宜不到一个高端服务器价格。因此使用Hadoop跨越集群和低成本的机器上运行是一个非常不错之选择。
Hadoop运行整个计算机集群代码。这个过程包括以下核心任务由 Hadoop 执行:
- 数据最初分为目录和文件。文件分为128M和64M(128M最好)统一大小块。
- 然后这些文件被分布在不同的群集节点,以便进一步处理。
- HDFS,本地文件系统的顶端﹑监管处理。
- 块复制处理硬件故障。
- 检查代码已成功执行。
- 执行发生映射之间,减少阶段的排序。
- 发送排序的数据到某一计算机。
- 为每个作业编写的调试日志。
Hadoop的优势
- 可伸缩性:Hadoop 可以在成百上千台机器之间分配和处理数据,具有很高的可伸缩性。
- 高可用性:Hadoop 在处理数据时具备自动故障恢复的能力。如果某一台机器出现问题,Hadoop 会自动将该节点上的数据复制到其他节点上,确保数据的可靠性和不中断性。
- 成本效益:与传统的大型关系数据库相比,Hadoop 成本更低,因为它运行在廉价的硬件上。
- 处理多种类型的数据:Hadoop 可以处理不同类型的数据,包括结构化数据和非结构化数据,例如文本、图片、视频和音频等。
- 高速处理大数据:Hadoop 可以高效地处理大批量的数据,因为它利用了分布式计算的优势,可以并行处理大量数据。
Hadoop的缺点
Hadoop不适用于低延迟数据访问。
Hadoop不能高效存储大量小文件。
Hadoop不支持多用户写入并任意修改文件。