Hadoop学习笔记

Hadoop

Hadoop是一个实现了MapReduceGFS技术的开源平台。
Hadoop 1.x项目包含了许多子项目,最主要的两个子项目是HDFSMapReduce,HDFS(Hadoop分布式文件系统)是一个可以存储极大数据集的文件系统,建立在通过向外拓展方式构建的主机集群上。
MapReduce是一个数据处理范式,应用于任意规模的大数据集。MapReduce任务直接在存储所需数据的HDFS节点上运行。

HDFS的每个存储节点上运行着一个称为DataNode的进程,它管理着相应主机上的所有数据块;这些存储节点都由一个称为NameNode的主进程来协调,该进程运行于一台独立主机上。(主节点NameNode与从节点DataNode实际上指的是不同的物理机器,即有一台机器上面跑的进程是NameNode,很多台机器上面跑的进程是DataNode ,也就是说服务器的角色是由其上面跑的进程的角色决定其是什么类型的服务器。)HDFS的每个由文件组成的数据块(通常64MB)存储在集群中的多个节点,NameNode确保任意数据块的副本数量都大于用户配置的复制因子。
map函数reduce函数的输入输出都是键值对,MapReduce软件集群也分为主节点和任务节点,主节点运行JabTracker进程监视集群的运行状况并处理故障,任务节点运行TackTracker进程来执行任务。
下面是Hadoop1.x和2.x的差别:在这里插入图片描述
什么是Yarn:
Yarn是一个资源调度平台。我们将一批机器组成一个资源池供大家共同使用,这样一来闲置的资源就可以共享给其他人使用,增加资源的使用效率。同时,我们也存在一些隔离机制,使得已经申请使用的资源保证能够分配给用户使用。
关于Yarn的更多信息,可以参考开源项目网站:http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

Yarn和HDFS的关系:
Yarn和HDFS共同属于Hadoop开源项目,两者相互协作完成任务调度和执行的功能。HDFS是一个分布式文件存储系统,用户要提交的任务首先打包上传到HDFS系统中,然后再由Yarn进行调度。Yarn将任务调度到某台具体的机器上,在该机器上从HDFS下载打包的用户任务,然后再执行任务。

Yarn和MapReduce/Spark/Flink的关系:
MapReduce/Spark/Flink均为分布式计算框架,是一个抽象层用于帮助用户编写分布式计算程序。编写好的分布式计算程序需要运行在某个能够提供计算资源的平台上,Yarn就是这样的一个平台。同类的平台还有Mesos和Kubernetes。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值