写点什么

第十二周学习心得

用户头像
cc
关注
发布于: 2021 年 02 月 16 日

1.HDFS



三个问题:

(1)怎么存储大文件

(2)怎么快速读

(3)怎么防止文件损坏导致整个文件不可用



常用 RADI 技术

RAID0 : 文件写到多个磁盘;

RAID1:文件写到两个复制盘

RAID 10:2 组盘,每组有组内复制;

RAID 5:

RAID 6



HDFS 系统架构

spark 计算的数据在 HDFS ,所以 spark 要支持 HDFS

HDFS 在大数据的领域是增强的,需要支持 HDFS 才有生命力;

HDFS 支持单文件的万亿级存储。



几千台 DATA NODE 服务器;

几台 NAME NODE 服务器;



DATA NODE 分成很多个块,默认是 64M ,这些块需要在 NAME NODE 注册;

EX : 服务器 IP,端口多少,有多少个数据块;



mapreduce 就是很多个 CLIENT 程序,去并发的读写文件;



HDFS 设计目标

HDFS 以流式数据访问模式存储超大文件,运行于商用硬件集群上



超大文件

流式数据访问



不适合 HDFS 的场景

(1)低延迟的数据访问

(2)大量小文件

超过 NAMENODE 的处理能力

(3)多用户随机写入修改文件



设计目标:

假设:节点失效是常态

理想:

(1)任何节点失效不影响服务

(2)自动完成集群内副本复制



分而治之



NameNode:

DataNode:

datanode 要向 namenode 注册;



HDFS 如何写文件



HDFS CLIENT ->NAMENODE

HDFS CLIENT ->DATANODE

DATANODE-> DATANODE2(副本)->DATANODE3(副本)



DATANODE 磁盘挂了怎么办

DATANODE 正常服务

坏掉的磁盘上数据尽快通知 NAMENODE



NameNode 挂了怎么办



持久化元数据

操作日志(EDIT LOG)

记录文件创建,删除,修改文件属性等操作

重做日志,如果挂了重做,耗时会比较长

Fsimage

包含完整的命名空间

FILE->BLOCK 的映射关系

文件的属性(ACL,quota,修改时间等)

定时对文件系统镜像备份



基于 ZOOKEEPER 管理 的 NAMENODE 主从架构

主 NAMENODE -写->SHARED EDITS -读->从 NAMENODE



2.MAPREDUCE



HDFS 的设计目标就是为了 MAPREDUCE

真正并发的是 MAPREDUCE 计算程序;

处理海量数据 >1TB

上百上千 CPU 实现并行处理



简单地实现以上目的

移动计算比移动数据更划算



MAPREDUCE 特性

自动实现分布式并行计算

容错

提供状态监控攻击

模型抽象简洁,程序员易用



WORD COUNT 举例

MAPREDUCE 内需要两个类

一个是 MAP 类,重写 MAP 函数

一个是 REDUCE 类,重写 REDUCE 函数



MAP 读文件的每一行, 输出 WORD 和 ONE

REDUCE 的 KEY 是 WORD ,ITERABLE 是 ONE 的集合

MAP 的输出是 REDUCE 的输入;



大数据技术是从 GOOGLE 上产生的;

目前的大数据:就是 HADOOP SPARK 以及相关的技术。

HDFS 将超大规模的文件进行存储和管理。



MAPREDUCE 就是写一个 MAP 函数和一个 REDUCE 函数。



MAP:

KEY 就是 偏移量,VALUE 就是一行;

输出,KEY VALUE



REDUCE:

输入是 KEY 就是单词,VALUE 就是 MAP 输出单词出现的次数的



MAPREDUCE 的处理,就是分布式的计算,从 X 万个文件中同时统计数据



一个例子:

hello world 0 hello world hello 1 world

bye world 12 bye world



MAP 是自己写的,想怎么算就怎么算;



YARN

大数据 1.0: MAPREDUCE

大数据 2.0: 通用的运行时框架,用户自己编写框架,在环境中运行;



架构方案的主要缺点是,服务器集群资源调度管理和 MAPREDUCE 执行耦合,

无法运行其它计算任何,比如:SPARTK STORM 无法统一集中资源。



YARN 架构

hadoop1 没用 yam,hadoop1 使用的是 job tracker



YARM 两个部分:

资源管理器

节点管理



3.HIVE

SQL 计算非常多,绝大多数的公司的分析计算都是 SQL 计算。



PAGEID+AGE 称为 KEY VALUE 就是 1 ,SHUFFLE SORT

# 关联这个表到这个文件

LOAD DATA LOCAL INPATH 'XXXXXXX' OVERWRITE INTO TABLE



针对这个表的 HIVE 语句就会被转换成 MAPREDUCE 的计算程序。



HIVE 的整体架构



CLIENT -> driver ->hadoop

metastore

compiler



SQL 转成语法树

将抽象语法树转成查询块 QB

把 QB 转成逻辑执行计划


用户头像

cc

关注

还未添加个人签名 2018.03.19 加入

还未添加个人简介

评论

发布
暂无评论
第十二周学习心得