Hadoop学习笔记(一)
Hadoop初识
Hadoop特性
apache旗下顶级开源项目之一
主要用于解决海量数据下的 存储、分析
主要优势有:
- 高可靠性
- 高扩展性
- 高效性
- 高容错性
其中MapReduce和HDFS(Hadoop Distribute File System)是Hadoop核心
MapReduce的核心是 对数据的排序优化
Hadoop版本
Hadoop经典版本
0.20.2(hadoop开始广泛关注的版本)
1.0.0(1.0系列开始)
1.0.3 1.0.4(实际生产主要应用的版本)
Haddop跨院版本
0.23.0(跨越版本,YARN框架,Hadoop2的基础版本)
主要区别在于没有HDFS的HA和Federation特性
2.x版本(将1.x系列版本与0.23.0系列版本的合并)
2.0.x:属于2.x系列版本的alpha版本
2.1.x:属于2.x系列版本的beta版本
2.2.0、2.3.0、2.4.0版本:属于正式版本,可用于实际生产环境,其中2.2.0版本是最合适生产的版本
2.0版本包含 支持NameNode横向扩展的HDFS,一个资源管理系统YARN和一个运行在YARN上的离线计算框架MapReduce
相比1.0版本,具有更好扩展性,性能,并支持多种计算框架
Hadoop1.0模块介绍
HBase
实时分布式数据库,基于HDFS,文件放在HDFS上,速度非常快
Zookeeper
分布式协作服务,协助HDFS工作
Hive
对数据存储的分类管理,并提供友好的数据管理管理接口API,提供HQL进行数据管理,通过Hive模块转换为MapReduce操作语句,对HDFS进行管理
Pig
动态语言,转换为MapReduce进行操作,对数据流进行管理
Mahout
数据挖掘模块
Sqoop
数据库ETL工具,将关系型数据库中的数据与HDFS(HDFS文件,HBase表,Hive表)上的数据进行相互导入导出。
ETL:提取+转化+加载,从数据库中获取数据,并进行一系列的数据清理和清洗,将合格的数据进行转换成一定的格式进行存储到HDFS系统,以提供计算框架进行数据分析和挖掘。
格式化数据:
TSV格式:每行数据的每列之间以制表符’\t’进行分割
CSV格式:每行数据的每列之间以制表符’,’进行分割
Flume
系统日志管理工具,将日志存储到指定的HBase目录下
Hadoop2.0模块介绍
与Hadoop1.0的主要不同
HDFS2
NameNode HA单节点故障
NameNode横向扩展
YARN
对资源的管理,主要包括两方面
1. 集群资源的管理
2. 所有任务的调度