我们学习Spark首先要知道Spark是什么
这段内容呢,是老师从官网上摘抄下来的,Spark是一个快速的统一的大数据处理引擎
Spark是开源的集群计算系统,针对快速的数据分析
那最后这一段它说的是,他不光运行的快,编写程序也很快对吗
下面我们来看一下这个BDAS技术栈
最下面的Mesos我们可以看成是YARN,
我们可以一起来复习一下YARN,YARN是个什么东西啊?
他是一个资源管理调度的一个框架,我们Hadoop的MapReduce可以跑在上面,那我们新学习的Spark也是可以跑在上面
YARN的主节点叫什么? ResourceManager
YARN的从节点叫什么? NodeManager
在Hadoop1.x的时候,有个东西叫做JobTracker
JobTracker剖析:
(1)概述:JobTracker是一个后台服务进程,启动之后,会一直监听并接收来自各个TaskTracker发送的心跳信息,包括资源使用情况和任务运行情况等信息。
(2)JobTracker的主要功能:
1.作业控制:在hadoop中每个应用程序被表示成一个作业,每个作业又被分成多个任务,JobTracker的作业控制模块则负责作业的分解和状态监控。
*最重要的是状态监控:主要包括TaskTracker状态监控、作业状态监控和任务状态监控。主要作用:容错和为任务调度提供决策依据。
2.资源管理。
TaskTracker剖析:
(1)TaskTracker概述:TaskTracker是JobTracker和Task之间的桥梁:一方面,从JobTracker接收并执行各种命令:运行任务、提交任务、杀死任务等;另一方面,将本地节点上各个任务的状态通过心跳周期性汇报给JobTracker。TaskTracker与JobTracker和Task之间采用了RPC协议进行通信。
(2)TaskTracker的功能:
1.汇报心跳:Tracker周期性将所有节点上各种信息通过心跳机制汇报给JobTracker。这些信息包括两部分:
*机器级别信息:节点健康情况、资源使用情况等。
*任务级别信息:任务执行进度、任务运行状态等。
2.执行命令:JobTracker会给TaskTracker下达各种命令,主要包括:启动任务(LaunchTaskAction)、提交任务(CommitTaskAction)、杀死任务(KillTaskAction)、杀死作业(KillJobAction)和重新初始化(TaskTrackerReinitAction)。
资源调度也好,任务调度也好,他需要跟集群上的其他节点进行大量的通信
比如说:任务的分发,资源的申请,任务执行情况的汇报、结果的回收
所以Hadoop2.x版本把他分开了,Yarn里面的资源调度由resourceManager来管理,任务调度由ApplicationMaster来管理
所以说我们任何的框架,想要基于YARN来执行,必须实现ApplicationMaster这个接口
在我们的Mesos或者YARN之上又有一个叫做HDFS的东西这个东西是一个分布式文件系统
HDFS到目前为止没有其他的技术替代方案,所以非常的核心和关键
HDFS默认会有3个备份,我们可以设置
如果某一个备份丢了的话,他可以自动复制一个备份
Block备份的策略是什么?
本机、同机架、异机架
MR,在海量数据上进行查询分析
Hive,通过传入Sql语句在海量数据上进行分析查询
计算封装MR,存储