1,Hadoop的解释
广义上的:以hadoop软件为主的生态圈,包括什么:spark,sqoop,hive,Mahout等等
狭义上的:就是hadoop就代表apache的hadoop,包括hdfs,mapreduce,yarn,这仨
2,apache项目
说到hadoop不能不提apache基金会,经常会有非常多的开源项目,包括我们的hadoop,spark,hive,flink等等。在这里提一句 hadoop项目就是按照谷歌的分布式论文提出的项目,不久就变成了apache的顶级项目,而这些顶级项目的网址都很统一的,就是xxx.apache.org,比如:hadoop.apache.org,spark.apache.org等等
3,hadoop软件
hadoop又分为三个阶段或者我们说三个版本,分别是;
hadoop 1.x
hadoop 2.x
hadoop 3.x
现在的最新版本是hadoop 3.x版本,但是在生产上我们还是使用hadoop 2.x这个版本,虽然hadoop现在是3.x和2.x都在同时更新,但新版本还不够稳定,而且现在的企业已经再2.x上使用很久了,突然更新是一件既费时又费钱的事情,再说了现在2.x又不是不能用了,所以现在基本都在使用2.x。
我们都使用的是hadoop-2.6.0-cdh5.7.0这个版本,这里可能有人问为什么是cdh版本呢,基本就是因为chd的兼容性比较好,毕竟原生Hadoop和spark,hive等等一起配置后有的可能会出现兼容问题,比如这个配置文件引用跟其他的重复了就会报错,而CDH是商业版本,它并没有改变apache的源码,只是在原生之上配置了一些东西,修复了一些bug,所以只要使用的都是CDH基本不会碰见什么太坑爹的问题,毕竟都是CDH配置好的。
首先,我们先了解下hadoop重要的三个组成部分
hdfs 用于存储大数据的分布式文件系统,说得通俗一点就是,这个货在hadoop当中是充当存储的角色的
mapreduce 分布式计算框架,这个货就是用于计算的,分为map端和reduce端,后面我们再详细地了解其内在的功能
yarn 资源调度器,其负责资源和作业的调度管理,毕竟少说几十台机子,多了就会很多了,前几天不是说京东部署了上万台机器么,数据和计算的节点也不一定在同一个地方,所以需要协调执行的过程。