Hadoop (入门) -- 第四天

一、分布式计算概述

分布式计算:以分布式的形式完成数据的统计,得到需要的结果

常见的两种工作模式:

        ①分散 -> 汇总模式(MapReduce):将数据分片,多台服务器各自负责一部分数据处理,然后将各自的结果,进行汇总处理,最终得到想要的计算结果

        ②中心调度 -> 步骤执行模式(大数据体系的Spark、Flink等):由一个节点作为中心调度管理者,将任务划分为几个具体步骤,管理者安排每个机器执行任务,最终得到结果数据

二、MapReduce概述

①MapReduce即Hadoop内提供的进行分布式计算的组件。

②MapReduce是“分散 -> 汇总”模式的分布式计算框架,可供开发人员开发相关程序进行分布式数据计算。

③MapReduce提供了2个编程接口

1、Map:提供“分散”功能,有服务器分布式对数据进行处理

2、Reduce:提供“汇总(聚合)”的功能,将分布式的处理结果汇总统计

 ④运行机制

将要执行的需求,分解为多个Map Task和Reduce Task;将Map Task和Reduce Task分配到对应的服务器去执行

三、YARN概述

YARN&MapReduce:

MapReduce是基于YARN运行的,即没有YARN“无法”运行MapReduce程序.YARN用来调度资源给MapReduce分配和管理运行资源

 ①YARN即Hadoop内提供的进行分布式资源调度的组件

补充知识点:

1、资源:服务器硬件资源,如:CPU、内存、硬盘、网络等

2、资源调度:管控服务器硬件资源,提供更好的利用率

3、分布式资源调度:管控整个分布式服务器集群的全部资源,整合进行统一调度

 ②YARN的资源调度

YARN管控整个集群的资源进行调度,那么应用程序在运行时,就是在YARN的监管(管理)下去运行的.

向YARN申请使用资源,YARN分配好资源后运行,空闲资源可供其他程序使用

四、YRAN架构

1、核心架构

①YARN,主从结构,有2个角色

        主(Master)角色:ResourceManager--整个集群的资源调度者,负责协调调度各个程序所需的资源

        从(Slave)角色:NodeManager--单个服务器的资源调度者,负责调度单个服务器上的资源提供给应用程序使用

②YARN容器

容器(Container):NodeManager预先占用这一部分资源,然后将这一部分资源提供给程序使用,程序运行在容器内,无法突破容器的资源限制

2、辅助架构

①YARN辅助角色

        ResourceManager:集群资源总管家

        NodeManager:单机资源管家

还可以搭配2个辅助角色使得YARN集群运行更加稳定

        代理服务器(ProxyServer):Web Application Proxy Web应用程序代理

        历史服务器(JobHistoryServer):应用程序历史信息记录服务

②Web应用代理(Web Application Proxy)

代理服务器,即Web应用代理是YARN的一部分。默认情况下,它将作为资源管理器(RM)的一部分运行,但是可以配置在独立模式下运行。使用代理的原因是为了减少通过YARN进行基于网络的攻击的可能性。这是因为,YARN在运行时会提供一个WEB UI 站点(同HDFS的WEB UI站点一样)可供用户在浏览器内查看YARN的运行信息。

 对外提供WEB站点会有安全性问题,而代理服务器的功能就是最大限度保障对WEB UI的访问是安全的。比如:

  • 警告用户正在访问一个不受信任的站点
  • 剥离用户访问的Cookie等

开启服务器,可以提高YARN在开放网站中的安全性(但不是绝对安全只能是辅助提高一些)

 代理服务器默认集成在了ResourceManager中

也可以将其分离出来单独启动,如果要分离代理服务器

1、在yarn-site.xml中配置 yarn.web-proxy.address 参数即可

2、 并通过命令启动它即可 $HADOOP_YARN_HOME/sbin/yarn-daemon.sh start proxyserver

 ③JobHistoryServer历史服务器

功能:记录历史运行的程序的信息以及产生的日志并提供WEB UI站点供用户使用浏览器查看

五、MapReduce&YARN的部署

 ①部署说明

  • Hadoop HDFS分布式文件系统,启动:

        NameNode进程作为管理节点

        DataNode进程作为工作节点

        SecondaryNameNode作为辅助

  • Hadoop YARN分布式资源调度,启动:

        ResourceManager进程作为管理节点

        NodeManager进程作为工作节点

        ProxyServer、JobHistoryServer作为辅助

MapReduce运行在YARN容器内,无需启动独立进程

②集群启动命令

  • 一键启动YARN集群:

$HADOOP_HOME/sbin/start-yarn.sh

 会基于yarn-site.xml中配置的yarn.resourcemanager.hostname来决定在哪台机器上启动resourcemanager

会基于workers文件配置的主机启动NodeManager

  • 一键停止YARN集群:

$HADOOP_HOME/sbin/stop-yarn.sh

  •  在当前机器,单独启动或停止进程

$HADOOP_HOME/bin/yarn --daemon start|stop resourcemanager|nodemanager|proxyserver

 start和stop决定启动和停止

可控制resourcemanager、nodemanager、proxyserver三种进程

  • 历史服务器启动和停止

$HADOOP_HOME/bin/mapred --daemon start|stop historyserver 

 ③查看YARN的WEB UI页面

打开 http://node1:8088 即可看到YARN集群的监控页面(ResourceManagerWEB UI

六、MapReduce&YARN初体验--提交MapReduce任务到YARN执行

①Hadoop官方内置了一些预置的MapReduce程序代码,无需编程,只需要通过命令即可使用。

常用的有2个MapReduce内置程序:

  • wordcount:单词计数程序--统计指定文件内各个单词出现的次数
  • pi:求圆周率--通过蒙特卡洛算法(统计模拟法)求圆周率

②这些内置的示例MapReduce程序代码,都在:

$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar 这个文件内

  • 可以通过hadoop jar命令来运行它,提交MapReduce程序到YARN中。

hadoop jar 程序文件 java类名 [程序参数] ... [程序参数]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值