请选择 进入手机版 | 继续访问电脑版

Hadoop-基于分布式环境的移动对象连接查询处理方法(一)- Hadoop分布式环

[复制链接]
余峻 发表于 2021-1-2 17:42:21 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Hadoop-基于分布式情况的移动对象毗连查询处置惩罚方法(一)-Hadoop分布式情况搭建 - 1.1 Hadoop根本概念与系统组成



Hadoop根本概念

Apache Hadoop是大数据开发所使用的一个焦点框架,其提供了跨盘算机集群分布式处置惩罚大型数据集的系统开发框架。使用Hadoop可以方便地管理分布式集群,将海量数据分布式存储在集群中,并使用分布式并行步调来处置惩罚这些数据,此中每台盘算机都提供当地盘算和存储。
Hadoop系统组成

Hadoop2.x架构

Hadoop2.x在原有的底子上引入了新的框架YARN(Yet Another Resource Negotiator)。YARN负责集群资源管理和统一调治,而MapReduce功能变得单一,运行于YARN之上,只负责举行数据的盘算。而且YARN具有通用性,可以作为其他盘算框架的资源管理系统。所谓资源管理,就是按照一定的战略讲系统资源(内存、CPU)分配给各个应用步调使用,而且接纳一定的隔离机制防止应用步调之间相互抢占资源而相互干扰。
Hadoop焦点模块

HDFS

HDFS(Hadoop Distributed File System):位于数据存储层,可以提供高吞吐量访问的分布式文件系统。
YARN

YARN(Yet Another Resource Negotiator):用于任务调治和集群资源管理的框架。
YARN集群总体上是主/从(Master/Slave)架构,主要由ResourceManagerNodeManagerApplicationMasterContainer等组件组成。
此中,ResouceManager以配景进程的形式运行,负责对集群资源举行统一管理和任务调治,其主要任务包罗:继承来自客户端的请求,启动和管理各个应用步调的ApplicationMaster,吸收来自ApplicationMaster的资源申请并为其分配Container,管理NodeManager并吸收来自NodeManager的资源和节点康健情况报告。
NodeManager是集群中每个节点上的资源和任务管理器,以配景进程的形式运行。他会定时向ResouceManager报告本节点上的资源使用情况和各个Container的运行状态。同时会吸收并处置惩罚来自ApplicationMaster的Container启动/停止等请求。NodeManager不会监督任务,仅监督Container中的资源使用情况。
Task是应用步调的详细执行任务,一个应用步调大概有多个任务,比方一个MapReduce步调可以有多个Map任务和Reduce任务。
Container是YARN中资源分配的根本单位,是封装了CPU和内存资源的一个容器,相当于是一个Task运行情况的抽象。从实现上看,Container是一个Java抽象类,界说了资源信息。Container类中界说的一个重要属性范例是Resource,内存和CPU的资源信息正式存储于Resource类中,其也是一个抽象类,该类部分如下界说。
  1. public abstract class Resource implements Comparable{        public Resource(){        }                public static Resource newInstance(long memory, int vCores){                Resource resource = (Resource)Records.newRecord(Resource.class);                resource.setMemorySize(memory);                resource.setVirtualCores(vCores);                return resource;        }}
复制代码
在YARN的NodeManager节点上拥有许多动态创建的Container。NodeManager会将盘算机的CPU和内存的一定值抽离成虚拟的值,然后将这些虚拟的值根据设置组成多个Container,当应用步调提出申请时,就会对其分配相应的Container。一个应用步调所需要的Container可以分为两类,此中包罗运行ApplicationMaster的Container和运行各类Task的Container,前者由ResourceManager向内部的资源调治器申请和启动,后者是由ApplicationMaster向ResourceManager申请的,并由ApplicationMaster请求NodeManager举行启动。
ApplicationMaster即应用步调管理者,一个应用进程对应一个ApplicationMaster,其为应用进程向ResourceManager申请资源(CPU、内存),并将资源分配给所管理的应用步调的Task。
总的来说,可以这样认为:ResourceManager管理整个集群,NodeManager管理集群中的单个节点,ApplicationMaster管理单个应用步调。
除此以外,随着Hadoop生态系统的发展,出现了越来越多的项目,有的需要依赖于Hadoop,有的可以独立于Hadoop运行,都对Hadoop系统做出了很好的增补,这里不做过多先容,若项目中有所涉及,将会详细先容其原理及使用。

来源:https://blog.csdn.net/sunzhihao_future/article/details/112068145
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )