yarn

Hadoop资源管理器-YARN

前提是你 提交于 2020-02-20 08:22:25
Hadoop1.0 创建job,获取jobID。 检查作业的输出说明并计算作业的输入分片,然后将运行作业所需要的资源都复制 到以作业ID命名的目录下。 提交作业,告知jobtracker作业准备执行。(submitJob()方法) 初始化作业。创建一个表示正在运行作业的对象,用来封装任务和记录信息。 获取客户端计算好的输入分片,然后为每 个分片创建一个map任务。在此步骤的时候 还会创建reduce任务、作业创建任务、作业 清理任务。 taskTraker发送心跳给JobTraker。 从共享文件系统把作业的JAR文件复制到tasktracker所在的文件系统。 tasktracker创建一个TaskRunner实例。 启动一个新的JVM来运行map/reduce任务。 缺点 **扩展性差:**在 MRv1 中,JobTracker 同时兼备 了资源管理和作业控制两个功能,这成为系统的 一个最大瓶颈,严重制约了 Hadoop 集群扩展性。 可靠性差 :MRv1采用了master/slave结构,其中 master存在单点故障问题,一旦它出现故障将导 致整个集群不可用。 资源利用率低 :MRv1采用了基于槽位的资源分配 模型,槽位是一种粗粒度的资源划分单位,通常 一个任务不会用完槽位对应的资源,其他任务也 无法使用这些空闲资源。此外,Hadoop将槽位分 为Map

15.Spark源码分析

无人久伴 提交于 2020-02-20 03:15:55
Spark源码分析 各个组件介绍 后面补充。。。。 StandAlone模式 在StandAlone模式的start-all的shell启动脚本下,在当前机器执行了JAVA_HOME/bin/java -cp ....Master和在配置的slave的机器中执行 JAVA_HOME/bin/java -cp ....Worker.这两种进程在启动后通过netty进行rpc通信。 Master的启动 首先创建一个RpcEnv对象,负责管理所有通信逻辑,核心代码为 val rpcEnv: RpcEnv = RpcEnv.create(SYSTEM_NAME, host, port, conf, securityMgr) ,创建后启动NettyRpcEnv Utils.startServiceOnPort(config.port, startNettyRpcEnv, sparkConf, config.name)._1 接着创建一个Master的EndPoint对象 val masterEndpoint: RpcEndpointRef = rpcEnv.setupEndpoint(ENDPOINT_NAME,new Master(rpcEnv, rpcEnv.address, webUiPort, securityMgr, conf)) 该EndPoint对象有 constructor

yarn工作流程

不问归期 提交于 2020-02-18 20:39:38
YARN 是 Hadoop 2.0 中的资源管理系统, 它的基本设计思想是将 MRv1 中的 JobTracker拆分成了两个独立的服务 : 一个全局的资源管理器 ResourceManager 和每个应用程序特有的ApplicationMaster。 其中 ResourceManager 负责整个系统的资源管理和分配, 而 ApplicationMaster负责单个应用程序的管理。 图 2-9 描述了 YARN 的基本组成结构, YARN 主要由 ResourceManager、 NodeManager、ApplicationMaster(图中给出了 MapReduce 和 MPI 两种计算框架的 ApplicationMaster, 分别为 MR AppMstr 和 MPI AppMstr) 和 Container 等几个组件构成。 YARN 的工作流程分为以下几个步骤: 步 骤 1: 用 户 向 YARN 中 提 交 应 用 程 序, 其 中 包 括 ApplicationMaster 程 序、 启 动ApplicationMaster 的命令、 用户程序等。 步骤 2: ResourceManager 为 该 应 用程 序 分 配 第 一 个 Container, 并 与 对应 的 NodeManager 通信, 要求它在这个 Container 中启动应用程序的

hadoop伪分布式安装

两盒软妹~` 提交于 2020-02-18 08:20:54
hadoop伪分布式安装笔记 参考 https://www.cnblogs.com/zhangyinhua/p/7647686.html https://blog.csdn.net/javastart/article/details/47187733 一、Hadoop的三种运行模式(启动模式) 1.1、单机模式(独立模式)(Local或Standalone Mode)   -默认情况下,Hadoop即处于该模式,用于开发和调式。   -不对配置文件进行修改。   -使用本地文件系统,而不是分布式文件系统。   -Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。   -用于对MapReduce程序的逻辑进行调试,确保程序的正确。 1.2、伪分布式模式(Pseudo-Distrubuted Mode)   -Hadoop的守护进程运行在本机机器,模拟一个小规模的集群    -在一台主机模拟多主机。   -Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。   -在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由JobTraker服务

三、hadoop笔记

↘锁芯ラ 提交于 2020-02-18 03:49:29
集群节点 namenode 主节点 datanode 从节点 resourcemanager yarn的主节点 nodemanager yarn的从节点 集群搭建 使用三台机器 shizhan01 NameNode ResourceManager shizhan02 DataNode NodeManager shizhan02 DataNode NodeManager 1、上传hadoop的压缩包到shizhan01,解压 tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C apps/ 2、进入 cd ~/apps/hadoop-2.6.4/etc/hadoop/ 修改配置 3、找到JAVA_HOME(echo $JAVA_HOME) 修改 vi hadoop-env.sh 配置JAVA_HOME export JAVA_HOME=/root/apps/jdk1.7.0_45 4、修改vi core-site.xml 配置,新增 < property > < name > fs.defaultFS </ name > < value > hdfs://shizhan01:9000 </ value > </ property > < property > < name > hadoop.tmp.dir </ name > < value >

npm与yarn使用

主宰稳场 提交于 2020-02-16 00:06:08
持续整理中 初始化库步骤: npm init -y npm install webpack --save-dev 查看模块 全局安装的所有模块 npm list -g 当前文件夹安装的所有模块 npm list 查看指定模块 npm list < packageName > npm 的配置项 查看配置列表 npm config ls npm config list 设置缓存文件夹 缓存文件默认地址:C:\Users\Administrator\AppData\Roaming\npm-cache 全局包文件默认地址:C:\Users\Administrator\AppData\Roaming\npm\node_modules # 设置缓存 npm config set cache "D:\npm\node_cache" # 设置全局 npm config set prefix "D:\npm\node_global" 设置配置代理 npm config set proxy null npm config set proxy < url > npm 添加用户 资源库中注册用户(使用邮箱注册) npm adduser 发布模块 npm publish 创建文件 touch 更新模块 npm 更新 npm update < packageName > yarn 更新 下载 npm

YARN的架构及原理

梦想的初衷 提交于 2020-02-15 11:14:45
1.YARN产生背景 1.1 MapReduce本身存在的问题 JobTracker单点故障问题;如果Hadoop集群的JobTracker挂掉,则整个分布式集群都不能使用了。 JobTracker承受的访问压力大,影响系统的扩展性。 不支持MapReduce之外的计算框架,比如Storm、Spark、Flink等。 1.2 MRv1 JobTracker:用户程序提交了一个Job,任务(job)会发给JobTracker,JobTracker是Map-Reduce框架中心,它负责把任务分解成map和reduce的作业(task);需要与集群中的机器定时心跳(heartbeat)通信;需要管理那些程序应该跑在那些机器上;需要管理所有job失败、重启操作。 Tasktracker是JobTracker和Task之间的桥梁,Tasktracker可以配置map和reduce的作业操(task slot)。TaskTracker通过心跳告知JobTracker自己还有空闲的作业Slot时,JobTrackr会向其分派任务。它将接收并执行JobTracker的各种命令:启动任务、提交任务、杀死任务。 TaskScheduler工作再JobTracker上。根据JobTracker获得的slot信息完成具体的分配工作,TaskScheduler支持多种策略以提高集群工作效率。 局限性

Spark on Yarn遇到的几个问题

狂风中的少年 提交于 2020-02-15 04:00:33
本文转自:http://www.cnblogs.com/Scott007/p/3889959.html 1 概述 Spark的on Yarn模式,其资源分配是交给Yarn的ResourceManager来进行管理的,但是目前的Spark版本,Application日志的查看,只能通过Yarn的yarn logs命令实现。 在部署和运行Spark Application的过程中,如果不注意一些小的细节,也许会导致一些问题的出现。 2 防火墙 部署好Spark的包和配置文件,on yarn的两种模式都无法运行,在NodeManager端的日志都是说Connection Refused,连接不上Driver所在的客户端节点,但是客户端的80端口可以正常访问!同时,在日志中有类似信息出现: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 内存肯定是够的,但就是无法获取资源!检查防火墙,果然客户端只开启的对80端口的访问,其他都禁止了!如果你的程序在运行的时候也有类似连接被拒绝的情况,最好也是先检查下防火墙的配置! 3 Spark Driver程序host的指定 部署完Spark后

Spark的Yarn模式

时光总嘲笑我的痴心妄想 提交于 2020-02-15 02:18:36
Spark基础理论: https://blog.csdn.net/weixin_45102492/article/details/104318250 Spark安装及Local模式: https://blog.csdn.net/weixin_45102492/article/details/104318738 Spark的Standalone模式: https://blog.csdn.net/weixin_45102492/article/details/104319485 Yarn模式 Spark客户端直接连接Yarn,不需要额外构建Spark集群。有yarn-client和yarn-cluster(集群模式,工作中常用)两种模式,主要区别在于:Driver程序的运行节点。 yarn-client :Driver程序运行在客户端,适应于交互、调试,希望立即看到app的输出 yarn-cluster :Driver程序运行在由RM(ResourceManager)启动的AP(APPMaster)适用于生产环境。 修改yarn-site.xml文件 添加以下内容 < ! -- 是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是 true -- > < property > < name > yarn . nodemanager . pmem -