先连接下Hadoop的版本,一般有以下三种:
1:官方原版 Apache
2:Cloudera,对官方版本进行封装,类似于spring等框架
3:HDP(Hortonwork Data Platform)
Hadoop三大核心组件:
HDFS(Hadoop Distributed File System):分布式文件系统
数据存放在这里。
YARN(Yet Another Resource Negotiator):资源管理调度系统
分配比如硬盘内存等资源。用这些资源来运行程序的计算
MapReduce:分布式运算框架
程序等在这里
以上便是三大组件的关系。
什么是文件系统HDFS?
如windows下的ntfs一样,就i是管理文件的。
就是屏蔽掉一些磁盘的信息(比如具体存放在那个磁道等信息),向上提供一个统一的接口(既是路劲)即可,用户只关心文件所在路劲就可以,无需关心具体文件信息或磁盘信息。
那么到底什么HDFS?:
1、一个文件被切割成多块,分别存储在多太服务器上的本地文件系统中
2、对用户屏蔽掉一些底层的一些信息(如,到底一个文件被切割成了几块,存放在那些服务器上),提供了一个抽象的统一的接口
3、文件都可以保存多个备份
4、hdfs中的文件和具体实际的存储位置之间的对应关系由一个专门的服务器来管理——NAMENODE
对于hdfs的有以下有点:
a、其容量是可以扩展的,比如您可以增加一台服务器
b、因为有备份,所以存储可靠性高(冗余),吞吐量增大
c、和hdfs的描述一样,从此客户只需要关心hdfs上的文件路劲,而无需去关心文件是怎么存放和存放在那里的
简单的了解下MapReduce的基本概念:
1、将一个业务分成两个阶段来进行,Map阶段和Reduce阶段
2、将分布式计算中面临的公共的问题封装成框架来实现(如jar包的分发,任务的启动,任务的容错、调度,以及中间结果的分组传递等)
3、开发人员只需要关心业务逻辑即可
MapReduce只是一种框架,还有其他框架,如storm、spark等
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情