Hadoop核心技术

目录

1.认识Hadoop框架2.了解Hadoop核心组件3.了解Hadoop生态系统4.了解Hadoop应用场景

一、认识Hadoop框架

Hadoop 是一个开源的分布式计算框架,最初由Apache软件基金会开发。它允许处理大规模数据集,可以在集群中运行,并提供高容错性。

Hadoop 的核心组件包括:

  1. Hadoop Distributed File System (HDFS):是 Hadoop 中用于存储数据的分布式文件系统。它将大文件切分成多个块,并在集群中的多个节点上存储这些块,以实现高可靠性和高可用性。
  2. Hadoop MapReduce:是 Hadoop 中用于并行处理大规模数据集的编程模型和软件框架。MapReduce 模型包括两个主要阶段:Map 阶段和 Reduce 阶段,它们分别处理输入数据并生成中间结果,最终输出最终结果。
  3. YARN (Yet Another Resource Negotiator):是 Hadoop 2.x 版本引入的资源管理器。它负责集群资源的管理和作业调度,使得 Hadoop 可以同时运行多个数据处理框架,如MapReduce、Apache Spark、Apache Flink 等。

除了核心组件之外,Hadoop 生态系统还包括许多其他项目和工具,如:

  • Apache Hive:用于数据仓库查询和分析的数据仓库工具,它提供类似于 SQL 的查询语言——HiveQL。

  • Apache Pig:一个用于分析大型数据集的高级编程平台,它提供了一种简单的脚本语言——Pig Latin。

  • Apache HBase:一个基于 Hadoop 的分布式列式数据库,适用于大规模的结构化数据存储和实时读写访问。

  • Apache Spark:一个通用的大数据处理引擎,它提供了比 MapReduce 更快、更灵活的数据处理能力,并支持多种数据处理模式。

Hadoop 生态系统的不断发展和壮大,使得它成为处理大数据的主要工具之一,被广泛应用于企业和科研领域。 

二、了解Hadoop核心组件

     

Hadoop 是一个开源的分布式计算框架,用于处理大规模数据。它的核心组件包括:

  1. Hadoop分布式文件系统(HDFS):HDFS 是 Hadoop 的文件系统,用于存储大规模数据集。它将数据分布在集群的各个节点上,并提供了高容错性和高可靠性的存储解决方案。
  2. Hadoop YARN:YARN(Yet Another Resource Negotiator)是 Hadoop 的资源管理器,用于集群资源的管理和调度。它允许多个数据处理框架(如MapReduce、Spark等)在同一个集群上运行,提高了资源利用率。
  3. MapReduce:MapReduce 是 Hadoop 最早的计算模型,用于对大规模数据集进行并行处理。它将数据处理任务分解为 Map 和 Reduce 两个阶段,并在集群中的多个节点上并行执行。
  4. Hadoop Common:Hadoop Common 包含了 Hadoop 的公共库和工具,提供了许多支持分布式计算的基础功能,如跨节点通信、安全认证、日志记录等。
  5. Hadoop工具和生态系统:除了核心组件之外,Hadoop 还有许多相关的工具和生态系统,如Hive(数据仓库)、Pig(数据流处理)、HBase(分布式数据库)、Spark(内存计算框架)等,它们可以与 Hadoop 集成,提供更丰富的功能和应用场景。
  6. 这些组件共同构成了 Hadoop 的核心,使其成为处理大数据的强大工具。

1.了解分布式文件系统--HDFS

HDFS(Hadoop分布式文件系统)是Apache Hadoop项目的核心组件之一,旨在处理大规模数据的存储和处理。它是一个分布式文件系统,设计用于运行在廉价的硬件上,并支持大规模数据处理应用程序的高吞吐量。以下是关于HDFS的一些重要概念:

  1. 分布式存储:HDFS将数据分布式存储在集群中的多个节点上。每个文件被分成一系列的块,这些块被复制到集群中的不同节点上,以提高容错性和可靠性。

  2. 数据块:HDFS将文件划分为固定大小的数据块(通常默认为128MB或256MB),并将每个数据块的多个副本存储在不同的节点上。这种方式使得文件能够并行处理和存储,从而提高了数据处理的效率和可靠性。

  3. 主从架构:HDFS采用主从架构,包括一个名为NameNode的主节点和多个称为DataNode的从节点。NameNode负责管理文件系统的命名空间和客户端请求的处理,而DataNode负责实际的数据存储和处理。

  4. 数据复制:为了提高容错性和可靠性,HDFS会将每个数据块的多个副本存储在不同的DataNode上。默认情况下,每个数据块会复制到集群中的多个节点上,通常是3个副本。

  5. 容错性:HDFS通过在集群中存储数据的多个副本来实现容错性。如果某个节点发生故障或数据损坏,系统可以从其他副本中恢复数据,保证数据的可靠性和可用性。

  6. 高吞吐量:HDFS旨在支持大规模数据处理应用程序,具有高吞吐量和低延迟的特点。它通过并行处理和数据本地性等机制来提高数据访问的效率。

总的来说,HDFS是一个适用于大规模数据存储和处理的分布式文件系统,具有高容错性、高可靠性和高吞吐量的特点。

这里有一些常用的HDFS命令:

  1. hadoop fs -ls

    :列出指定路径下的文件和目录。

  2. hadoop fs -mkdir

    :创建一个新的目录。

  3. hadoop fs -put

    :将本地文件复制到HDFS。

  4. hadoop fs -get

    :将HDFS文件复制到本地文件系统。

  5. hadoop fs -cat

    :显示HDFS文件的内容。

  6. hadoop fs -mv

    :移动文件或目录。

  7. hadoop fs -rm

    :删除文件或目录。

  8. hadoop fs -chown

    :改变文件的所有者。

  9. hadoop fs -chmod

    :改变文件的权限。

  10. hadoop fs -chgrp

    :改变文件的所属组。

  11. hadoop fs -du

    :显示指定路径的大小。

  12. hadoop fs -cp

    :复制文件或目录。

这些命令提供了对HDFS中文件和目录进行常见操作的基本支持。使用这些命令可以在Hadoop集群上进行文件和目录的管理。

了解集群资源管理器--YARN

YARN(Yet Another Resource Negotiator)是Apache Hadoop的资源管理器。它充当Hadoop集群中资源的管理者,负责调度任务以及分配资源给正在运行的应用程序。YARN的设计使得Hadoop集群可以同时运行多个作业,并有效地利用集群资源。

YARN的核心组件包括:

  1. ResourceManager(资源管理器):集群中的主节点,负责整个集群的资源分配和任务调度。它接收来自客户端的应用程序提交请求,并将资源分配给NodeManager执行。ResourceManager还监视集群中各个节点的健康状态,并重新分配资源以适应集群的动态变化。

  2. NodeManager(节点管理器):运行在每个集群节点上的代理程序,负责管理单个节点的资源。NodeManager负责监视该节点上的容器(运行应用程序的环境),并报告其资源使用情况给ResourceManager。

  3. ApplicationMaster(应用程序管理器):每个应用程序在YARN中都有一个对应的ApplicationMaster。它负责与ResourceManager协商资源,并与NodeManager通信以启动和监控应用程序的执行。ApplicationMaster还负责处理应用程序的容错和状态管理。

YARN的架构使得Hadoop集群能够更加灵活地管理和利用资源,从而提高了集群的利用率和性能。

  • 21
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值