Hadoop(一)Hadoop概述

这篇具有很好参考价值的文章主要介绍了Hadoop(一)Hadoop概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Hadoop基本结构

Hadoop是一个分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题。

Hadoop组成:

  • Hadoop Common(辅助工具): The common utilities that support the other Hadoop modules.
  • Hadoop Distributed File System (数据存储): A distributed file system that provides high-throughput access to application data.
  • Hadoop YARN(资源调度): A framework for job scheduling and cluster resource management.
  • Hadoop MapReduce(数据处理与计算): A YARN-based system for parallel processing of large data sets.
1.1 HDFS架构

NameNode 指明每个文件块存在哪个节点上 DataNode存储实实在在的数据

1、NameNode是一个中心服务器,单一节点(简化系统的设计和实现,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问
2、文件操作,Namenode是负责文件元数据的操作,它知道数据的存放位置(例如NN知道数据块1存在001、006、008三台机器)。这些信息不是长久固定的,每次启动系统后需要重新从数据节点获取这些信息。Datanode负责处理文件内容的读写请求,跟文件内容相关的数据流不经过Namenode,只询问它跟哪个DataNode联系,否则Namenode会成为系统的瓶颈
3、 副本存放在哪些Datanode上由Namenode来控制,根据全局情况作出块放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低读取网络开销和读取延时。HDFS分布式文件系统的内部有一个副本存放策略:以默认的副本数=3为例:①第一个副本块存本机(若客户端在集群中,不在的话随机选择一个较近的机器)②第二个副本在另一个机架的随机节点③第三个副本在第二个副本所处机架的随机节点
4、Namenode全权管理数据库的复制,它周期性的从集群中的每Datanode接收心跳信合和状态报告,接收到心跳信号意味着DataNode节点工作正常,块状态报告包含了一个该DataNode上所有的数据列表

Hadoop(一)Hadoop概述

1.2 YARN架构
  • Resource Manager:整个集群资源的统一管理者
  • Node Manager:单个节点服务器的资源管理者
  • App Mstr:单个任务运行的管理者
  • Container:相当于一台独立服务器,里面有任务运行所需要的资源,比如CPU、磁盘、网络等
    Hadoop(一)Hadoop概述
1.3 MapReduce架构

MapReduce将计算过程分为两个阶段:Map和Reduce

  • Map阶段并行处理输入数据
  • Reduce阶段对Map结果进行汇总
    Hadoop(一)Hadoop概述
1.4 HDFS、YARN、MapReduce三者关系

工作过程概述:

1.用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等

2.ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用程序ApplicationMaster

3.ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManager查看应用程序的运行状态,然后它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7

4.ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源

5.一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务

6.NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务MapTask

7.各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序的当前运行状态

8.最后经过ReduceTask将结果返回写到磁盘,HDFS做相应的存储

9.应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己
Hadoop(一)Hadoop概述
关于SecondaryNameNode:
链接: https://blog.csdn.net/xh16319/article/details/31375197

2.Hadoop优势
  • 高可用性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算节点出现故障,也不会导致数据丢失Hadoop(一)Hadoop概述
  • 高扩展性:在集群间分配任务数据,可以方便的扩展数以千计的节点
    Hadoop(一)Hadoop概述
  • 高效性:Hadoop是并行处理数据的
    Hadoop(一)Hadoop概述
  • 高容错性:能够用自动将失败的任务重新分配
    Hadoop(一)Hadoop概述
3.安装JDK与Hadoop

相关压缩包在文章末尾

3.1 安装JDK

1、卸载现有JDK
注意:安装JDK前,一定确保提前删除了虚拟机自带的JDK

2、用XShell传输工具将JDK导入到opt目录下面的software文件夹下面

3、在Linux系统下的opt目录中查看软件包是否导入成功

[gzhu@hadoop102 ~]$ ls /opt/software/

4、解压JDK到/opt/module目录下

[gzhu@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

5、配置JDK环境变量
①新建/etc/profile.d/my_env.sh文件

[gzhu@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh

添加如下内容:

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

②保存后退出 :wq

③source一下/etc/profile文件,让新的环境变量PATH生效

[gzhu@hadoop102 ~]$ source /etc/profile

6、测试JDK是否安装成功

[gzhu@hadoop102 ~]$ java -version

如果能看到以下结果,则代表Java安装成功。
java version “1.8.0_212”

注意:重启(如果java -version可以用就不用重启)

[gzhu@hadoop102 ~]$ sudo reboot
3.2 安装Hadoop

Hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
1、用XShell文件传输工具将hadoop-3.1.3.tar.gz导入到opt目录下面的software文件夹下面

2、进入到Hadoop安装包路径下

[gzhu@hadoop102 ~]$ cd /opt/software/

3、解压安装文件到/opt/module下面

[gzhu@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

4、查看是否解压成功

[gzhu@hadoop102 software]$ ls /opt/module/

显示hadoop-3.1.3即成功

5、将Hadoop添加到环境变量
①获取Hadoop安装路径

[gzhu@hadoop102 hadoop-3.1.3]$ pwd /opt/module/hadoop-3.1.3

②打开/etc/profile.d/my_env.sh文件

[gzhu@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh

在my_env.sh文件末尾添加如下内容:(shift+g)

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

保存并退出: :wq
③让修改后的文件生效

[gzhu@hadoop102 hadoop-3.1.3]$ source /etc/profile

6、测试是否安装成功

[gzhu@hadoop102 hadoop-3.1.3]$ hadoop version

7、重启(如果Hadoop命令不能用再重启虚拟机)文章来源地址https://www.toymoban.com/news/detail-403999.html

[gzhu@hadoop102 hadoop-3.1.3]$ sudo reboot

到了这里,关于Hadoop(一)Hadoop概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop 1.0 到 Hadoop 3.0版本功能概述

    2003-2004年,Google公布了部分GFS和MapReduce思想的细节,受此启发的Doug Cutting等人用2年的业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。然后Yahoo招安Doug Gutting及其项目。 2005年,Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会。 2006年2月被分离出来,成为一套完整独

    2023年04月23日
    浏览(68)
  • Hadoop概述

    hadoop是一个由Apache基金会所开发的 分布式系统基础框架 其主要解决,海量 数据的存储和海量数据的的分析计算 问题 广义上,Hadoop通常是指一个更加广泛的概念—— Hadoop生态圈 Hadoop创始人Doug Cutting, 为了实现与Google类似的全文搜索功能,他在Lucene框架基础上进行优化升级

    2024年02月01日
    浏览(32)
  • Hadoop入门概述

    Hadoop 是一个开源的分布式计算框架,主要用于处理和存储大规模数据集。以下是学习Hadoop时需要掌握的一些关键概念和技术要点: Hadoop 概述 Hadoop是什么 : Hadoop是一个基于Java编写的开源软件库,用于在商用硬件集群上分布式处理和存储海量数据。 它提供了一个高容错性、

    2024年02月03日
    浏览(26)
  • 1.2 Hadoop概述

    ) 1.2.1 回归问题 通过前一篇帖子的介绍,特别是问题思考部分的说明,我们大致能够感受到为何需要新的技术体系来解决大数据问题,接下来咱们继续梳理细节。 step_0 传统方案既贵又搞不定大数据问题。 (1)传统数据的处理模式:用户+集中式系统+关系型数据库 优点是架构

    2024年01月23日
    浏览(26)
  • 【Hadoop】- MapReduce概述[5]

    目录 前言 一、分布式计算框架 - MapReduce 二、MapReduce执行原理 MapReduce是一种 分布式计算框架 ,由Google开发。它的设计目标是将大规模数据集的处理和生成任务分布到一个由廉价计算机组成的集群中。 在MapReduce模型中,输入数据被分割成若干小块,并在集群中的多个节点上并

    2024年04月25日
    浏览(23)
  • Hadoop之MapReduce概述

    MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 MapReduce优缺点 优点 1)MapReduce易于编

    2024年02月08日
    浏览(45)
  • 初识Hadoop-概述与关键技术

           高速发展的信息时代,新一轮科技革命和变革正在加速推进,技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量,而 “大数据” 无疑是核心推动力。       那么,什么是 “大数据” 呢?如果从字面意思来看,大数据指的是 巨量数据 。那么可能

    2024年01月23日
    浏览(22)
  • Hadoop学习指南:探索大数据时代的重要组成——Hadoop概述

    在当今大数据时代,处理海量数据成为了一项关键任务。Hadoop作为一种开源的分布式计算框架,为大规模数据处理和存储提供了强大的解决方案。本文将介绍Hadoop的组成和其在大数据处理中的重要作用,让我们一同踏上学习Hadoop的旅程。 1)Hadoop是一个由Apache基金会所开发的

    2024年02月14日
    浏览(29)
  • 大数据课程D2——hadoop的概述

    文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州 ⚪ 了解hadoop的定义和特点; ⚪ 掌握hadoop的基础结构; ⚪ 掌握hadoop的常见命令; ⚪ 了解hadoop的执行流程; 1. HDFS(Hadoop Distributed File System - Hadoop分布式文件系统)是Hadoop提供的一套用于进行分布式存储的机制。

    2024年02月15日
    浏览(26)
  • Hadoop学习1:概述、单体搭建、伪分布式搭建

    Hadoop: 分布式系统基础架构   解决问题: 海量数据存储、海量数据的分析计算   官网: https://hadoop.apache.org/   HDFS(Hadoop Distributed File System): 分布式文件系统,用于存储数据   Hadoop的默认配置【core-site.xml】: https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/c

    2024年03月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包