架构师训练营第十二周总结

用户头像
James-Pang
关注
发布于: 2020 年 09 月 02 日

HDFS

常用RAID技术

HDFS系统架构

  • Client

  • NameNode

  • DataNode

HDFS设计目标

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

  • 超大文件

  • 流失数据访问(一次写入多次读取)

  • 商用硬件

不适合HDFS的场景

  • 低延迟的数据访问

  • 大量小文件(超过NameNode的处理能力)

  • 多用户随机写入修改文件

设计目标

假设:节点失效是常态

理想:

  • 任何一个节点失效,不影响HDFS服务

  • HDFS可以自动完成副本的复制

文件

  • 文件切分成块,默认大小64M,副本数默认为3

  • NameNode是主节点,存储文件的元数据以及块列表和块所在的DataNode

  • DataNode在本地文件系统存储文件块数据,以及块数据校验和

分而治之(Divide and Conquer)

HDFS关键运行机制-高可用

  • 一个名字节点和多个数据节点

数据复制

  • 故障检测

  • 数据节点(心跳包,块报告,数据完整性检测)

  • 名字节点(日志文件,镜像文件)

  • 空间回收机制

HDFS一致性模型

副本摆放策略

压缩

MapReduce

MapReduce:大规模数据处理

  • 处理海量数据(>1TB)

  • 上百上千CPU实现并行处理

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

  • 分而治之

MapReduce特性

  • 自动实现分布式并行计算

  • 容错

  • 提供状态监控工具

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

  • map和reduce两部分用户程序组成,然后利用框架在计算机集群上面根据需求运行多个程序实例来处理各个子任务,然后再对结果进行归并

适合MapReduce的计算类型

  • TopK

  • K-means

  • Bayes

  • SQL

不适合MapReduce的计算类型

  • Fibonacci

Yarn

YARN: Yet Another Resource Negotiator

  • 下一代MapReduce框架的名称

  • 不再是一个传统的MapReduce框架

  • 通用运行时框架,用户可以编写自己的计算框架,在该运行环境中运行

Yarn架构

  • 资源管理器(调度器和应用程序管理器)

  • 节点管理器

  • 容器(进行资源分配的单位)

HIVE

HIVE架构

HIVE执行流程

  • 操作符(Operator)是HIVE的最小处理单元

  • 每个操作符处理代表HDFS操作或MR作业

  • 编译器把HIVESQL转换成一组操作符

发布于: 2020 年 09 月 02 日 阅读数: 31
用户头像

James-Pang

关注

不忘初心 2018.11.08 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第十二周总结