Hadoop起源
Google的3篇论文
GFS -> HDFS 文件系统,用来存储数据的
Mapreduce -> Mapreduce ,用于分析数据
bigTable ->Hbase 表,数据库,用来存储数据的
Hadoop最原始的功能
数据存储:HDFS
数据分析:mapReduce
hadoop介绍
Hadoop是Apache的顶级项目
hadoop包含的模块
- Hadoop Common: The common utilities that support the other Hadoop modules.
公共的工具,为其他模块提供支撑的
- Hadoop Distributed File System (HDFS™): A distributed file system that provides high-throughput access to application data.
- HDFS是一个分布式文件系统,提供高吞吐量数据存储
- Hadoop YARN: A framework for job scheduling and cluster resource management.
是一框架,任务调度和集群资源管理
- Hadoop MapReduce: A YARN-based system for parallel processing of large data sets.
大数据集合的并行计算
分布式
相对于集中式
多台机器协作完成
架构:
主节点Master,老大,管理者
管理
从节点slave,小弟,努力,被管理者
干活的
集群:多个机器的群体,
集群和分布式的区别:
分布式一定是集群
集群不一定是分布式。
HDFS:存储数据
将数据划分为很多个块,默认一个块block(128MB),一个500M文件4块,每一个块存储3份,存储3份的好处,为了安全(空间换安全性)。
主节点:NameNode
决定数据存储在那个DataNode
管理元数据(那个机器存储了什么数据,索引)
管理所有从节点
从节点:DataNode
存储数据,管理数据(管理当前机器)
MapReduce
并行计算的框架
分而治之的思想
将海量的数据划分为 多个部分,每部分单独进行处理,最后将所有处理的结果进行合并
Map:MapTask
但对处理每一部分的数据
按照OOP思想,就是一个方法(map),在里面处理实际业务逻辑能力
Reduce:ReduceTask
合并MapTask输出的结果数据
按照OOP思想,就是一个方法(reduce),在里面处理实际业务逻辑能力
YARN
分布式集群资源管理和任务调度框架:管理各个机器的资源(cpu和内存),并且合理调度分配资源给各个程序使用(MapReduce程序的运行)
主节点:ResourceManager
管理子节点功能
相应客户端请求
任务调度
从节点:NodeManager
管理当前机器的资源
总结:
Hadoop框架安装部署
都属于Java进程,其实就是JVM基础,运行服务
HDFS
NameNode和DataNode
Yarn:
ResourceManager和NodeManager