其实是一门选修课,但是说是选修,因为学分原因也是要必选的,所以就当它是必修吧。
Hadoop简介
- Hadoop狭义上来讲,就是一款处理分布式的开源软件
- 广义上Hadoop指的是围绕Hadoop打造的大数据生态圈
- Hadoop的核心组件
- Hadoop HDFS(分布式文件存储系统):解决海量数据存储
- Hadoop YARN(集群资源管理和任务调度框架):解决资源任务调度
- Hadoop MapReduce(分布式计算框架):解决海量数据计算
- 可以理解为mysql统治了数据库的半壁江山。
- HDFS作为分布式文件存储,处于生态圈的底层与核心地位。
- YARN作为分布式通用的集群资源管理系统和任务调度平台,支持各种计算引擎运行,保证了Hadoop地位。
- MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不再直接使用MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据。
- Hadoop的发行版本
- 开源社区版:Apache开源社区官方开源版本
- 优点:更新速度快,免费
- 缺点:兼容/稳定性不周
- 商业发型版:基于Apache开源协议,由商业公司发行的版本
- 优点:稳定兼容性好
- 缺点:收费,更新速度慢
- Cloudera, Hortonworks
- 开源社区版:Apache开源社区官方开源版本
- Hadoop的大版本有3个,1.0没有引入YARN这个组件,只靠MapReduce去实现资源管理和数据处理,所以效率很慢。2.0改变架构,引入了YARN这个组件,专注于资源管理,使MapReduce专注于数据处理,效率提升。3.0架构没变,只是做了性能优化。
- Hadoop集群有两个,HDFS集群(分布式存储)和YARN集群(资源管理调度)
- 你会问,为啥没有MapReduce集群呢?
- 因为MapReduce是计算框架、代码层面的组件,没有集群这个说法
- HDFS和YARN集群都是主从架构,具体来说:
- HDFS集群
- 主角色:NameNode(NN)
- 从角色:DataNode(DN)
- 主角色辅助角色:SecondaryNameNode(SNN)
- YARN集群
- 主角色:ResourceManager(RM)
- 从角色:NodeManager(NM)
- HDFS集群
- 下面通过一张图来进一步的理解Hadoop集群:
- 五颜六色的是java进程,灰色的框框是一个个机器,只有HDFS集群和YARN集群一起,才称为Hadoop集群。
- spark是一个数据处理框架,它可以调度成千上万的服务器集群,完成海量数据计算,可以暂时理解为是MapReduce的一个升级版
- 了解了Hadoop和spark的一些基本概念,下面就开始配置hadoop和spark,具体教程参考实验一指导手册ex1.md