导学
- Hadoop: 提供分布式的存储(一个文件被拆分成很多个块,并且以副本的方式存储在各个节点中)和计算
是一个分布式的系统基础架构:用户可以在不了解分布式底层细节的情况下使用 - Apache社区的顶级项目:xxxx.apache.org,如:
- 组成:
- 分布式文件系统:HDFS - 将文件分布式存储在很多服务器上
- 分布式计算框架:MapReduce - 实现在很多机器上分布式并行计算
- 分布式资源调度框架:YARN - 实现集群资源管理和调度
- 优势
- 可靠性:数据块多副本、重新调度作业计算
- 扩展性:横向扩展、一个集群中可以有数以千计的节点
- 成本低
- 成熟的生态圈
HDFS
- 特点:扩展性、容错性、海量数据存储
- 工作机制:将文件切分成指定大小的数据块并以多副本的方式存储在机器上
文件、块、副本:
文件:test 200M
块(block):默认的blocksize是128M,2个块:128M+72M
副本:HDFS默认3副本
node1 : blk1
node2 : blk2
node3 : blk1 blk2
node4 : blk1
node5 : blk2
如果node1无法正常工作,blk1在node3、4上仍然存在,可正常工作。
MapReduce
- 特点:扩展性、容错性、海量数据离线处理
- 词频统计流程:
Input -> Splitting -> Mapping -> Shuffling -> Reducing -> Final result
YARN
- 特点:扩展性、容错性、多框架资源统一调度
常用的Hadoop发行版
- Apache
- 优点:开源
- 缺点:jar冲突
- 优点:cm 页面一键安装
- 缺点:cm不开源,与社区版本有出入、impala
- Hortonworks:HDP
- 优点:原装Hadoop、开源、tez
- 缺点:企业级安全框架不开源