您好,登录后才能下订单哦!
这篇文章主要介绍“Hadoop的相关概念及系统组成”,在日常操作中,相信很多人在Hadoop的相关概念及系统组成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hadoop的相关概念及系统组成”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一:Hadoop的相关概念
1、Hadoop是一个基于java语言的MapReduce框架。
2、Hadoop的改进: a、Hadoop Streaming--任何命令行脚本都可以通过Streaming调用MapReduce框架。 b、Hadoop Hive:Apache Hive可以把海量数据集放入数据仓库中,用户可以编写类似SQL语句的Hive查询语句来查找数据,Hive引擎把Hive查询语句透明的转换为底层MapReduce任务来执行,高级用户可以使用Java语言来编写用户自定义函数(UDF)。Hive也支持标准的ODBC、JDBC数据库驱动。Hive还可以用来开发商业智能分析程序去处理分析存放在Hadoop中的数据。 c、Pig:过程性语言,是一种探索大规模数据集的脚本语言。用于描述数据流的语言,称为 Pig latin. d、HBse:一个在HDFS上开发的面向列的分布式数据,可以实时的随机访问超大规模数据集。
3、刚开始的时候,Hadoop系统只能做到用户提交任务之后,以先进先出的模式在集群上执行任务。为了解决这样的问题,Hadoop中出现了更加复杂的任务调度器:公平调度器,计算能力调度器。
4、Hadoop 2.x 相较于 1.x解决了扩展性问题。
二:MapReduce编程模型简介
5、MapReduce模型有两个彼此独立的步骤,这两个步骤都是可以配置并需要用户在程序中自定义。 Map:数据初始读取和转换步骤,在这个步骤中,每个独立的输入数据记录都进行并行处理。 Reduce:一个数据整合或者加和的步骤。在这个步骤中,相关联的所有数据记录都要放在一个计算节点来处理。
6、Hadoop系统中的MapReduce核心思路: a、将输入的数据在逻辑上分割成多个数据块,每个逻辑数据块被Map任务单独处理。 b、数据块处理后所得结果会被划分到不同的数据集,且将数据集排序完成。 c、每个经过排序的数据集传输到Reduce任务进行处理。
7、一个Map任务可以在集群的任何节点上运行,多个Map任务可以并行的运行在集群上。Map任务的主要作用是把输入的数据记录转换为一个个键值对。所有Map任务的输出数据都会进行分区,并且将每个分区的数据排序。每个分区对应一个Reduce任务。
三:Hadoop系统的组成
8、Hadoop 1.x守护进程 a、名称节点(NameNode):维护存储在HDFS上的所有文件的元数据。 b、数据节点(DateNode):把真正的数据块存放在本地硬盘上,这些数据块组成了保存在HDFS上的每个文件。 c、作业跟踪器(JobTracker):负责一个任务的整个执行过程。调度各个子任务到各自的计算节点运行,时刻监控任务运行和计算节点的健康情况,对失败的子任务进行重新调度。 d、任务跟踪器(TaskTracker):运行在各个数据节点上,用来启动和管理各个Map/Reduce任务,与作业跟踪器进行通信。
9、Hadoop系统任务分工(1.x): 主节点(Master):NameNode/Secondary NameNode/JobTracker 从节点(Save):DateNode/TaskTracker
10、HDFS系统提供一个统一的文件系统命名空间,用户就像使用一个文件系统一样来存取集群节点上的数据。
11、Hadoop文件的本质是块存储,有3个备份,存储在数据节点上。
12、Hadoop借助一个单独配置的网络拓扑文件实现机架感知能力,这个网络拓扑文件配置了机架到计算节点的域名(DNS)名称之间的映射。
13、名称节点上的关键文件: a、fsimage:保存了最近的一次检查点的HDFS系统元数据的持久化状态信息。 b、edits:保存了最近的一次检查点之后到现在的HDFS系统元数据的状态变化信息。 c、fstime:保存了最近一次检查点的时间戳。
14、任务跟踪器(TaskTracker):接收MapReduce和shuffle这些操作任务的请求,任务跟踪器接受到一个来自作业跟踪器的请求之后,就会启动一个任务,任务跟踪器会为这个任务初始化一个新的JVM。
15、作业跟踪器(JobTracker):启动和监控MapReduce作业。
四:Hadoop 2.x (YARN):
16、组成:全局资源管理器,节点管理器,针对每种应用程序的应用程序管理器,调度器,容器
17、一部分CPU内核和一部分内存构成了一个容器。一个应用程序运行在一个容器内,应用程序管理器的一个实例会向全局资源管理器请求获取资源。调度器会通过每个节点的节点管理器来分配资源(容器)。节点管理器会向全局资源管理器汇报每个容器的使用情况。
18、集群节点与容器之间的关系是:一个节点可以运行多个容器,但一个容器只能运行在一个节点之内。
19、Hadoop 2.x 解决了原先只能使用MapReduce框架的问题,现在可以在2.x系统上运行更多的框架。
到此,关于“Hadoop的相关概念及系统组成”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。