首页 > 其他分享 >Hadoop简介和架构相关

Hadoop简介和架构相关

时间:2022-09-01 17:48:31浏览次数:72  
标签:HDFS 架构 简介 Hadoop Application 集群 服务器 dn1

Hadoop

Hadoop是用java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部分是HDFS、MapReduce与Yarn

HDFS是分布式文件系统,引入存放文件元数据的服务器NameNode和实际存放数据的服务器DataNode,对数据进行分布式存储和读取

MapReduce是分布式计算框架,MapRuduce的核心思想是把计算任务分配给集群内的服务器执行,通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracher)对任务进行分布式计算。

Yarn是分布式资源框架,管理整个集群的资源(内存、CPU核数)分配调度集群的资源

把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘
把MapRuduce理解成一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。

怎么使用Hadoop

①Hadoop集群的搭建
无论是在windows上装几台虚拟机玩Hadoop,还是真实的服务器来玩,说简单点就是把Hadoop的安装包放在每一台服务器上,改改配置,启动就完成了Hadoop集群的搭建。

②上传文件到Hadoop集群,实现文件存储
Hadoop集群搭建好以后,可以通过web页面查看集群的情况,还可以通过Hadoop命令来上传文件到hdfs集群,通过Hadoop命令在hdfs集群上建立目录,通过Hadoop命令删除集群上的文件等等。

③编写map/reduce程序,完成计算任务
通过集成开发工具(例如eclipse)导入Hadoop相关的jar包,编写map/reduce程序,将程序打成jar包扔在集群上执行,运行后出计算结果。

Hadoop 部署安装

  • 创建一个用于管理hadood的用户(可新建或者使用已有的用户)
  • 安装并配置ssh免密码登陆
  • 安装Java环境
  • 下载hadoop并配置环境变量
  • 配置相关的Hadoop配置
  • 验证hadoop安装并启动

Hadoop 架构

HDFS读取流程:


(1)客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。
(2)NameNode返回是否可以上传。
(3)客户端请求第一个 Block上传到哪几个DataNode服务器上。
(4)NameNode返回3个DataNode节点,分别为dn1、dn2、dn3。
(5)客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。
(6)dn1、dn2、dn3逐级应答客户端。
(7)客户端开始往dn1上传第一个Block(先从磁盘读取数据放到一个本地内存缓存),以Packet为单位,dn1收到一个Packet就会传给dn2,dn2传给dn3;dn1每传一个packet会放入一个应答队列等待应答。
(8)当一个Block传输完成之后,客户端再次请求NameNode上传第二个Block的服务器。(重复执行3-7步)。

MapReduce工作流程:

Yarn调度相关:


Yarn详细调度流程:

1.client向yarn提交job,首先找ResourceManager分配资源,
2.ResourceManager开启一个Container,在Container中运行一个Application manager
3.Application manager找一台nodemanager启动Application master,计算任务所需的计算
4.Application master向Application manager(Yarn)申请运行任务所需的资源
5.Resource scheduler将资源封装发给Application master
6.Application master将获取到的资源分配给各个nodemanager
7.各个nodemanager得到任务和资源开始执行map task
8.map task执行结束后,开始执行reduce task
9.map task和 reduce task将执行结果反馈给Application master
10.Application master将任务执行的结果反馈pplication manager。

参考资料:
Hadoop: Setting up a Single Node Cluster.
Hadoop Cluster Setup
HDFS简介和部分架构图
Hadoop单机版安装
HDFS简介与部署
HDFS 的Java API操作
MapReduce 基础之:图文讲解 MapReduce 工作原理
YARN 详解 --- ResourceManager, NodeManager以及ApplicationMaster

标签:HDFS,架构,简介,Hadoop,Application,集群,服务器,dn1
From: https://www.cnblogs.com/chq3272991/p/16647321.html

相关文章

  • (课设)C/S架构即时聊天软件开发(QT)
     (课设)C/S架构即时聊天软件开发源点工作室毕设,作业,论文,考试疑难解答,源码均有,看简介加我。 3人赞同了该文章一、引言项目概述项目目的:在已......
  • 软件架构(Software Achitecture)测验day4 吉林大学
    周四上午课堂测验(2022)题量:20满分:4作答时间:09-0109:30至09-0111:30智能分析4分一.单选题(共20题,4分)(单选题,0.2分)Classesandobjectscanbecompletely......
  • Hadoop二十五
    MapReduce定义:MapReduce是一个分布式运算程序的编程框架,是由用户开发"基于Hadoop的数据分析应用"的核心框架。功能:核心功能是将用户编写的业务逻辑代码......
  • 生产和同城存储双活架构下,发生脑裂问题影响数据库读写,如何快速分析问题和解决问题?
    数据中心脑裂问题,简单说就是两个数据中心间的网络和存储链路同时发生中断,导致两个数据中心内的应用、数据库或者操作系统同时抢占和利用共享的资源,造成资源的数据不一致,产......
  • 创建 Flask Web 应用程序简介
    创建FlaskWeb应用程序简介安装Flask和开发原型FlaskWeb应用程序的方法Photoby邮件黑猩猩on不飞溅Flask是一个PythonWeb框架。它是一个流行的轻量级......
  • Jetpack架构组件学习(4)——APP Startup库的使用
    最近在研究APP的启动优化,也是发现了Jetpack中的AppStartup库,可以进行SDK的初始化操作,于是便是学习了,特此记录原文:Jetpack架构组件学习(4)——AppStartup库的使......
  • Hadoop-yarn学习
    一、常用命令1.yarnapplication-list列出所有Application2.yarnapplication-list-appStates状态(ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,FINISHED,FAILED......
  • Prometheus 简介
    Prometheus简介随着容器技术的迅速发展,Kubernetes已然成为大家追捧的容器集群管理系统。Prometheus作为生态圈CloudNativeComputingFoundation(简称:CNCF)中的重要一员......
  • 大数据分析常用组件、框架、架构介绍(Hadoop、Spark、Storm、Flume、Kafka、Logstash、
    首先,数据传输组件:①Kafka是用Scala编写的分布式消息处理平台。②Logstash是用JRuby编写的一种分布式日志收集框架。③Flume是用Java编写的分布式实时日志收集框架。......
  • Prometheus 组成及架构
    Prometheus组成及架构Prometheus生态圈中包含了多个组件,其中许多组件是可选的:PrometheusServer:------服务端---处理,储存数据负责收集和存储时间Prometheus组成及架......