Skip to content

Latest commit

 

History

History
64 lines (38 loc) · 2.61 KB

20180919大数据存储与处理.md

File metadata and controls

64 lines (38 loc) · 2.61 KB

大数据存储与处理 Big Data Hadoop Stack

贝毅君

批处理与流式处理

Hadoop:大批量数据存储或计算的开源软件 1 解决大规模数据存储问题 2 解决大规模数据处理(计算)问题 3 通过分布式或集群的手段来处理(很多人一起干活) 4 使用的硬件设备是一群普通的电脑 并尽量减少人工的干预

将计算移到数据上 Hadoop是一个可扩展的平台 谷歌 GFS 依赖性

Schema-on read style 读取数据后再决定数据的结构

以前的情况:小数据+复杂的算法 大数据:大量数据+简单的算法

Apache基本框架模块

Hadoop Common
Hadoop Distributed File System (HDFS) 文件系统 分布式存储
Hadoop YARN 资源管理平台 调度策略
Hadoop MapReduce 编程模型 分布式计算 分而治之 实现大规模数据的并行处理

Hadoop不能处理实时数据 Hadoop的分布式逻辑单元太少(算子)

PIG 脚本语言 Hive 提供查询语句(支持SQL) HBase 一种非关系数据库

分布式 网络 Socket通信等 调度策略要有了解

HDFS层:解决数据存储问题 NameNode存储命名空间(元数据) DataNode存储数据(文件内容) MapReduce层:解决数据处理问题 JobTracker管理若干个TaskTracker TaskTracker是真正处理数据的单元(这就是分而治之)

HDFS:1分布式的 2可扩展的 3可移植的 跨平台的

DataNode和NameNode之间存在心跳协议(HeartBeat),定时发送心跳信息给NameNode确定其存活(没有损坏) NameNode实时监控DataNode

JobTracker分配任务给TaskTracker 两者也建立心跳协议确定TaskTracker存活 如果发生故障则将任务迁移到别的TaskTracker 新版Hadoop被YARN取代(包括一些新框架:Spark Storm等)

YARN大大提高可扩展能力

Hadoop生态系统

Apache Sqoop 用于在结构化数据与Hadoop之间高效传递数据
HBase 面向列的数据库(列式存储) 键-值存储 动态数据模型 非关系型DBMS 可存储超大容量数据
Pig 脚本语言(Pig Latin) 对MapReduce方法的封装 抽取 转换和加载(ETL)
Apache Hive 类SQL的分布式存储数据查询语言 支持HDFS海量数据的查询和管理 数据仓库:数据分析的目的和增删改查不一样,所以引入了数据仓库的思想
Oozie 工作流调度系统 用来管理Hadoop调度 支持MapReduce Pig Hive Sqoop等的调度
Zookeeper 分布式数据服务平台 管理配置文件 提供命名服务(如:机器编号)与分布式同步锁机制与分组服务
Flume 大批量日志文件收集、聚合与迁移工具