(单选30 判断10 简答10 操作30 编程20)
编程掌握:
HDFS文件操作
MapReduce程序
HBase数据库命令操作
U1
大数据的4v特征
数据量大、处理快、数据类型多、价值密度低
大数据完全颠覆了传统的思维方式:
全样而非抽样、
效率而非精确、
相关而非因果
第三次信息化浪潮:云计算,物联网和大数据
大数据的两大核心技术
分布式存储:GFS/HDFS、BigTable/HBase、NoSQL
分布式处理:MapReduce
Hadoop相关组件
MapReduce:分布式并行编程模型
HBase:非关系型分布式数据库
YARN:资源管理调度器
Hive:数据仓库
Pig:语言+环境
Sqoop:数据传输
Zookeeper:协同工作系统,提供协调一致服务
Flume:日志系统
Storm:流计算框架
Tez:支持DAG作业的计算框架
Spark:通用并行框架
Kafka:分布式发布订阅消息系统
==批处理计算:MapReduce、Spark==
查询分析计算:Dremel、Hive
流计算:Storm、Flume
Apache最重要的三大分布式计算系统开源项目包括(ABC)
A. Hadoop
B. Storm
C. Spark
U2 Hadoop
Hadoop是开源分布式平台,具有很好的跨平台性
核心是HDFS(Hadoop Distributed File System)和MapReduce
Hadoop的特性:
高可靠性、高效性、高可扩展性、高容错性、成本低、运行在LinuxOS、支持多种编程语言
Hadoop1.0/2.0
两代比较:
1.0:单一NameNode存在单点故障问题
2.0:HDFS HA,提供NameNode热备份机制
HA集群设置两个名称节点,“==活跃==(Active)”和“==待命==(Standby)”,两种名称节点的状态同步
1.0:无法实现资源隔离
2.0:HDFS Federetion 管理多个命名空间
Federation中,设计了多个相互独立的NameNode,相互之间是联盟关系,不需要彼此协调。
Federation中,所有NameNode会共享底层的DataNode存储资源,DataNode向所有NameNode汇报。
Federation并不能解决单点故障问题,需要为每个NameNode部署一个后备NameNode
属于同一个命名空间的块构成一个“块池
1.0:资源管理效率低
2.0:资源管理框架YARN
MapReduce1.0中的资源管理调度功能被单独分离出来形成了YARN,是一个纯粹的资源调度框架
U3 HDFS
廉价兼容的硬件、流数据集、
简单文件模型:'==一次写入、多次读取==',且仅能写入一次,仅允许追加
跨平台:支持JVM的都可以运行
无法高效存储大量小文件
不支持多用户写入及任意修改文件
不适合低延迟数据访问
一个磁盘块512字节,是文件读写的最小单位
文件以块(Block)为单位进行存储,块通常是磁盘块的整数倍
HDFS默认一个块64MB
不同的文件块可以被分发到不同的节点上
块概念的优点:
支持大规模文件存储
简化系统设计
适合数据备份
主节点(Master Node)也叫NameNode
NameNode作为中心服务器,管理NameSpace及Client文件访问
负责文件和目录的操作,管理DataNode和文件块的映射关系,Client只有访问NameNode才能找到Block位置
从节点(Slave Node)也叫DataNode