目录
Hadoop
定义
优势
高扩展性:存储可扩展,计算可扩展
高可靠性:分布式文件系统的备份恢复机制
高效性:分布式文件系统的高效数据交互
经济性:可部署在普通pc
生态圈
1.0时代
2.0时代
重要组件
分布式存储系统HDFS
资源管理系统YARN
分布式计算框架MapReduce
HDFS
定义
特点
存储大文件。
大文件分割为小存储块。
流式数据读取。
本身是分布式的,具备良好的可扩展性。
不适合
不适合存储大量小文件(<1MB)
不适合实时数据读取
不适合需要经常修改数据场景
MapReduce
处理过程
YARN
定义
负责集群的资源管理和调度。是多种计算机框架可以运行在一个集群中
特点
良好的扩展性,高可用性
对多种类型的应用程序进行统一管理和调度
自带了多种多用户调度器,适合共享集群环
HIVE
定义
将HIVE SQL装换为MapReduce程序去执行,使不熟悉MapReduce的用户很方便利用HQL进行数据ETL操作。
特点
更友好的接口
更低的学习成本:自动实现SQL到MapReduce任务的装换
更好的可扩展性:扩展集群规模不需要重启服务,并且支持用户自定义函数
良好的容错性:hive节点出现问题,SQL可无中断执行
HBase
定义
开源的,面向列,适合存储海量非结构化数据或者半结构化数据的。具备高可靠性,高性能,可灵活伸缩扩展的,支持实时数据读写的分布式存储系统
特点
大表:一个表有上亿行,上百列
面向列:面向列的存储,检索和权限控制
稀疏:表中为空(NULL)的列不占用存储空间
Zookeeper
定义
大型分布式系统的高可用协调服务,例如维护分布式集群的配置或命名信息,实现这些配置信息的协调与同步。
在HDFS中,Zookeeper通常用来监控Name Node的运行状态,并实现Name Node的主备切换
Bookkeeper
定义
Bookeeper主要用来保障Name Node的可靠性。
在HDFS中Bookkeeper作为主备Name Node的共享存储保存Name Node上存放的HDFS的元数据
Spark
定义
Spark是一个用于Hadoop数据的开源分布式SQL查询引擎。是基于内存查询的快速,可扩展的大规模数据处理通用引擎。
R语言
定义
R是一个统计计算和统计制图的免费软件环境
Ambari
定义
Ambari用来创建,管理,监视Hadoop的集群。
这里的Hadoop是广义的,指Hadoop整个生态圈(例如hive,hbase,sqoop,zookeeper等)
功能
1.通过一步一步的安装导向简化了集群供应
2.预先配置好关键的运维指标(metrics)可以直接查看组件(HDFS/MapReduce)和项目(HBASE/Hive)的状态
3.支持作业与任务执行的可视化与分析
4.用户界面非常直观
Flume
定义
日志收集系统
概念
数据传输过程中缓存,松达后删除缓存
数据基本单位Event
运行核心Agent
特征
可靠性
可扩展性
可管理性