1、hadoop背景
google的三篇论文
GFS-HDFS、Mapreduce、bigtable-Hbase
2、什么是hadoop
是一种分析和处理大数据的软件平台,是Apache的一个用Java语言所实现的开源软件的加框,在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算。
- 开源的
- 可靠的
- 可扩展:机器的增加或者减少不会影响设备正常运行
- 分布式计算
3、解决的问题
1) 海量数据的存储——HDFS
- 存海量数据的
- 动态的添加机器,不会影响正常的设备运行
- 备份(默认备份3份)
- 快速自动恢复(当数据文件损坏的时候)
2)海量数据的分析——MapReduce(离线分析)
海量:核心理念——分而治之
3)集群资源的管理和任务调度——yarn
- 资源管理(cpu和内存)
- 任务调度
4、特点
- 扩容能力
- 成本低
- 高效率
- 可靠性
- 完整性
5、应用场景
- 日志分析
- 推荐系统
- GPS系统
6、hadoop生态图
7、hadoop的核心内容
HDFS分布式文件系统解决了:海量数据的存储——分布式架构设计
分布式特点:集群多台机器共同协作完成存储主从架构设计
1、NameNode —— 主节点(中心服务器)
文件的元数据:
- 文件的名称
- 文件的位置
- 副本数(备份)
- 拥有者、组、权限
- 存储块:按块存储大于256M分别将文件切成块,默认大小128M
- 各个块在那些datanode上
2、DataNode —— 文件的操作
DataNode负责文件的读写请求
3、读文件
client——namenode
client——datanode
4、写文件
client —— (申请)namenode (在namenode基础上告诉client在那台datanode上存数据)
client —— datanode