Hadoop学习笔记(1)

来源:互联网 发布:js数组的长度 编辑:程序博客网 时间:2024/06/01 19:30
大数据之Hadoop学习笔记
1. 正在从(IT时代)进入(DT时代)
2. SQL on Hadoop
(1) Hive—>老牌,用的特别好
(2) Prestore——>国外用的比较多
(3) Impala——>速度快,不太稳定,基于内存
(4) Phoneix(基于HBase)——>国内外大公司用
(5) SparkSQL——>机器学习用的多
3. Hadoop:来源的三篇论文
BigTable——>HBase
GFS——>HDFS
MapReduce——>MapReduce
4.
HDFS:海量数据的存储分布式,安全性很高,副本
MapReduce:对海量数据的处理
思想:分而治之,大数据分为小数据集,每个数据集,进行逻辑业务处理(map),合并统计数据结果(reduce)
YARN:分布式资源管理框架
管理集群的资源(内存、CPU)
分配调度集群的资源
4. 补充:
(1) Lucene:
开源的高性能全文检索工具包
(2) Nutch
开源的web搜索引擎
5. HDFS:数据是以块的形式存储
Namenode:主节点,存储文件的元数据,如文件名,文件目录结构,文件属性,每个文件的块列表和块所在的NameNode等
A. 一部分放在内存中,这样能读取更快
B. 本地磁盘中有两种,fsimage:镜像文件和edites:编辑日志
DataNode:在本地文件系统中存储文件块数据,以及数据的(校验和)
Secondary namenode:用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
HDFS类似于->Windows :NTFS
6. YARN:
Resource manager:
(1)处理客户的请求
(2)启动、监控application master
(3)监控node manager
(4)资源分配与调度
Container:
对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息
Node manager:
(1) 单个节点上的资源管理
(2) 处理来自resource manager的命令
(3) 处理来自application master的命令
App master:
(1)数据切分
(2)为应用程序申请资源,并分配内部任务
(3)任务监控与容错
7.离线计算框架MapReduce
(1)将计算过程分为两个阶段map和reduce:
Map阶段并行处理数据;
Reduce阶段对map结果进行汇总;
(2)shuffle连接map和reduce两个阶段
map task将数据写到本地磁盘;
reduce task从每个map上读取一份数据;
(3) 仅适合离线批处理:
具有很好的容错性和扩展性;
适合简单的批处理任务;
(4) 缺点明显:
启动开销大、过多使用磁盘导致效率低下等