架构师训练营第十二周总结
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转换成一组操作符
版权声明: 本文为 InfoQ 作者【James-Pang】的原创文章。
原文链接:【http://xie.infoq.cn/article/3863919bb118f6e045ffab293】。未经作者许可,禁止转载。
评论