好程序员大数据学习路线Hadoop学习干货分享
好程序员大数据学习路线Hadoop学习干货分享,Apache Hadoop 为可靠的,可扩展的分布式计算开发开源软件。
Apache Hadoop软件库是一个框架,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集(海量的数据)。
包括这些模块:
- Hadoop Common:支持其他Hadoop模块的常用工具。
- Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
- Hadoop YARN:作业调度和集群资源管理的框架。
- Hadoop MapReduce:一种用于并行处理大型数据集的基于YARN的系统。
上述每个模块有自己独立的功能,而模块之间又有相互的关联。
广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈
可靠,可扩展的分布式计算的开源软件,由HDFS、MapReduce、YARN组成。
HDFS
Hadoop分布式文件系统,一般由一到两个Namenode进程和若干Datanode进程组成,在实现了HA机制的HDFS中,还有ZKFC进程(一般跟NameNode进程运行在同一台计算机上)和多个JN进程。
节点
运行Namenode或Datanode进程的机器称之为节点,对应的运行Namenode进程的机器称之为Namenode节点,运行Datanode进程的机器称之为Datanode节点,这里的机器可以是物理机也可以是虚拟机。
Mapreduce
分布式并行离线计算框架,是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架,Mapreduce核心功能是将用户编写的业务逻辑代码和MR自带默认组件整合成一个完整的分布式运算程序,并发的运行在一个hadoop集群上;与HDFS解决问题的原理类似,HDFS是将大的文件切分成若干小文件,然后将它们分别存储到集群中各个主机中。同样原理,mapreduce是将一个复杂的运算切分成若个子运算,然后将它们分别交给集群中各个主机,由各个主机并行运算。
名词解释
- Job :用户的每一个计算请求称为一个作业。
-
Task:每一个作业,都需要拆分开了,交由多个主机来完成,拆分出来的执行单位就是任务。Task又分为如下三种类型的任务:
- Map:负责map阶段的整个数据处理流程
- Reduce:负责reduce阶段的整个数据处理流程
- MRAppMaster:负责整个程序的过程调度及状态协调
YARN
Yet Another Resource Negotiator(好吧,另一种资源协调者),作业调度和集群资源管理的框架,由ResourceManager和NodeManager组成,ResourceManager有两个主要组件:Scheduler和ApplicationsManager。
Scheduler
调度程序负责根据熟悉的容量,队列等约束将资源分配给各种正在运行的应用程序。调度程序是纯调度程序,因为它不执行应用程序状态的监视或跟踪。此外,由于应用程序故障或硬件故障,它无法保证重启失败的任务。调度程序根据应用程序的资源需求执行其调度功能; 它是基于资源Container的抽象概念,它包含内存,cpu,磁盘,网络等元素。
ApplicationsManager
负责接受作业提交,协商第一个容器以执行特定于应用程序的ApplicationMaster,并提供在失败时重新启动ApplicationMaster容器的服务。每个应用程序ApplicationMaster负责从Scheduler协商适当的资源容器,跟踪其状态并监视进度。
Zookeeper
分布式应用程序的分布式协调服务,由多个QuorumPeerMain进程组成,本质上这些进程功能类似,但是在zookeeper运行过程中,会由其中的一个进程充当leader角色,剩余进程充当follower角色。
znode
zookeeper内部维护的处于内存中的树状数据结构中的一个组成部分,即树状数据结构中的节点,具有权限、类型、版本等相关元信息,和子节点、父节点、自身内容等其他相关信息。zookeeper负责监控节点的变化状态,包括节点的新增、删除、内容变更、子节点变更,但是zookeeper不负责某个节点发生变化之后的动作,变化之后zookeeper可以告知这个节点的Watcher,然后由这个watcher负责处理。
HA
所谓HA,即高可用(7*24小时不中断服务)(secondarynamenode只是保证了“可靠性”)实现高可用最关键的是消除单点故障,hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA。
-
HDFS的HA机制详解:通过双namenode消除单点故障,双namenode协调工作的要点:
- 元数据管理方式需要改变
- 需要一个状态管理功能模块

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
8月28日社区直播【Spark Streaming SQL流式处理简介】
直播间直达链接:(回看链接) https://tianchi.aliyun.com/course/live?liveId=41084 或钉钉扫描海报上二维码,进群直接观看。 时间 8月28日19:00 主讲人: 云魄,阿里云E-MapReduce 高级开发工程师,专注于流式计算,Spark Contributor,开源爱好者 简介: 本次直播将简要介绍EMR Spark Streaming SQL,主要包含Streaming SQL的语法和使用,最后做demo演示
- 下一篇
好程序员大数据学习路线分享hadoop常用四大模块文件
好程序员大数据学习路线分享hadoop常用四大模块文件1.1.1core-site.xml(工具模块)包括Hadoop常用的工具类,由原来的Hadoopcore部分更名而来。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。1.1.2hdfs-site.xml(数据存储模块)分布式文件系统,提供对应用程序数据的高吞吐量,高伸缩性,高容错性的访问。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。namenode+ datanode + secondarynode1.1.3mapred-site.xml(数据处理模块)基于YARN的大型数据集并行处理系统。是一种计算模型,用以进行大数据量的计算。Hadoop的MapReduce实现,和Com...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6