Hadoop简介
- HADOOP是apache旗下的一套开源软件平台
- HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
- HADOOP的核心组件有
- HDFS(分布式文件系统)
- MAPREDUCE(分布式运算编程框架)
- 广义上来讲,HADOOP通常指的是一个更加广泛的概念——HADOOP生态圈
重点组件:- HDFS:分布式文件系统
- MAPREDUCE:分布式运算程序开发框架
- HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具
- HBASE:基于HADOOP的分布式海量数据库
- ZOOKEEPER:分布式协调服务基础组件
- Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库
- Oozie:工作流调度框架
- Sqoop:数据导入导出工具
- Flume:日志数据采集框架
Hadoop核心组件
分布式文件存储
- 简介
分布式存储系统HDFS(Hadoop Distributed File System)由一个名称节点(NameNode)和多个数据节点(DataNode)组成。该软件系统会划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,实现最终的整体功能。 - 存储空间问题
增加数据节点的个数,理论上是无穷大的 - 数据安全问题
- HDFS的默认冗余度为3
- 效率:水平复制
- 数据传输按照数据块为单位:Hadoop1.x为64M,Hadoop2.x为128M
分布式计算
- 简介
分布式计算MapReduce是将一个大任务拆分为多个小任务进行计算,然后再把结果进行汇总得到最终计算结果,以此来完成特别大数据量的计算。 - MR任务
- job(主程序)=map+reduce
- Map的输入是Reduce的输出
- MR的输入和输出都是在HDFS中
HBase
- BigTable思想
将所有的数据都保存到一张表中 - 通过BigTable思想推出NoSql数据库:HBase
- HBase表结构
- 行健:相当于主键,可以重复出现,相同的行健是同一条记录
- 列族:自动生成对应的列
- 命令:create ‘student’,’info’,’grade’
最后更新: 2018年11月29日 14:23