架构师训练营 1 期 - 第 十二周总结(vaik)

本周概述
本周主要讲述了五大主题,
第一部分:大数据基础的原理,历史背景,Hadoop 框架的由来与发展
第二部分:大数据的数据存储,分布式数据存储系统,HDFS 基本原理介绍,应用场景
第三部分:大数据分布式计算框架 MapReduce
第四部分:大数据集群资源管理系统 Yarn
第五部分:大数据仓库 Hive
我的思考:大数据最核心的思想是分而治之,通过 HDFS 作为基础的分布式存储,如何合理拆分存储是关键,以便于进行 MapReduce 的分布式计算
大数据基础的原理
大数据技术发展史
大数据起源,Google 发表的三篇论文 GFS,大数据 MapReduce,NoSQL 数据库系统 BigTable
Lucene 开源项目创始人 Doug Cutting 基本 Google 发表的三篇论文,创建了 Hadoop ,主要包括分布式文件系统 HDFS 和大数据计算引擎 MapReduce
随着 Yahoo 百度 阿里等大公司使用 Hadoop, 2008 年 Hadoop 正式成为 Apache 的项级项目
因为 MapReduce 编程的复杂和麻烦,后来 Yahoo,发明了 Pig 这样新脚本语言,由于 pig 有一定的学习成本 Facebook 发明了 Hive,一种支持使用 SQL 语法来进行大数据计算的转化框架。Hive 大大降低了 Hadoop 的使用难度。
随着 Hadoop 的不断发现,大量周边产品开始出现。
专门将关系数据库中的数据导入到 Hadoop 平台的 Sqooq;
针对大规模日志进行分布式收集,聚合,传输的 Flume;
MapReduce 工作流调度引擎 Oozie.
2012 年 MapReduce 执行引擎和资源调度分离出来,形成新的项目 Yarn
2012 年 Spark 开始崭露头角,为了解决 MapReduce 进行机器学习计算时候性能非常差的问题.
NoSQL 系统处理的主要也是大规模海量数据的存储与访问,所以也被归为大数据技术,出现了像 HBase,Cassandra 等优秀产品
为满足实时产生的大量数据计算,出现了像 Storm,Flink,Spark Streaming 等流计算框架。
大数据框架

大数据应用发展史
搜索引擎时代
数据仓库时代
数据挖掘时代
机器学习时代
大数据应用领域
医学影像智能识别
病历大数据智能诊疗
AI 外语老师
智能解题
舆情监控与分析
大数据风控
新零售
无人驾驶
分布式数据存储系统 HDFS
HDFS 系统架构

我的理解:
NameNode 保存所有 block 的位置信息,作为核心协调和调度的中枢,根据 DataNodes 的集群状态合理调整 Block 的分布(新增,复制,读取)
DataNode 主要功能就是发送心跳,接收复制,读取 Block 的指令
数据存储细节
Block Replication

思考:
我认为这个存储结构的设计至关重要,他决定了 HDFS 的最根本的特性,方件分块,分机器,分机架
Datanodes

HDFS 的设计目标
以流式数据访问模式存储超大文件,运行于商用硬件集群上。
超大文件
流式数据访问:一次写入多次读取
商用硬件
不适合 HDFS 的场景
低延迟的数据访问
大量小文件(超出 NameNode 的处理能力)
多用户随机写入修改文件
评论