Hadoop-分布式系统和集群
分布式 :分布式的主要工作是分解任务,将职能拆解,多个人在一起做不同的事
集群:集群主要是将同一个业务,部署在多个服务器上 ,多个人在一起做同样的事
Hadoop是一个开源的分布式计算平台,可以用于存储和处理大规模数据。它基于Google的MapReduce和Google File System(GFS)的研究论文,并由Apache软件基金会进行开发和维护。
- Hadoop的核心组件包括:
1. Hadoop Distributed File System(HDFS):一个分布式的文件系统,可以将大量的数据存储在集群中的多个节点上。
HDFS模块:
- NameNode:集群当中的主节点,主要用于管理集群当中的各种数据
- SecondaryNameNode:主要能用于hadoop当中元数据信息的辅助管理
- DataNode:集群当中的从节点,主要用于存储集群当中的各种数据
2. YARN(Yet Another Resource Negotiator):一个资源管理器,用于调度和分配集群中的计算资源。
数据计算核心模块:
- ResourceManager:接收用户的计算请求任务, 并负责集群的资源分配
- NodeManager: 负责执行主节点分配的任务
3. MapReduce:一个用于分布式计算的编程模型。它将大规模数据集分成多个小的数据块,并通过将计算任务分配给集群中的多个节点来并行处理这些数据块。
Hadoop模块之间的关系
- MapReduce计算需要的数据和产生的结果需要HDFS来进行存储
- MapReduce的运行需要由Yarn集群来提供资源调度。
Hadoop可以在廉价的硬件上运行,可以处理PB级别的数据,并具有高可靠性和可伸缩性。它广泛应用于大数据分析、数据挖掘和机器学习等领域。
除了这些核心组件之外,Hadoop生态系统还包括许多其他工具和项目,如HBase(分布式数据库)、Hive(数据仓库)、Pig(数据分析语言)和Spark(内存计算引擎)等,这些工具和项目可以与Hadoop一起使用,为用户提供更多的功能和选择。