Hadoop简介
- Apache Hadoop 项目是可靠,可扩展的分布式计算的开源软件。
- Apache Hadoop 软件库是一个框架,允许使用简单的编程模型跨计算机集群分布式处理大型数据集。
- 狭义上说Hadoop是apache的一个顶级项目。
- 广义上说Hadoop泛指Hadoop——生态圈
Apache软件基金会
专门为支持开源软件项目而办的一个非盈利性的组织
开源的简介
源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。
分布式
一个业务拆分成多个自业务,部署在多个服务器上
多个人做一件事,大家职责不同
集群
同一个业务部署在多个服务器上
多个做一件事,大家职责相同
负载均衡
部署在不同服务器上的同一子系统
结构化数据
表现为二维形式的数据。可以存储在关系型的数据库中(MySQL,Oracle,SQL Server)
半结构化数据
属于同一类实体可以有不同的属性。XML树结构,JSON
非结构化数据
没有固定格式的数据。如文档,图片,音频等
Hadoop起源
Hadoop 是 Apache Lucene 创始人 Doug Cutting 创建的。最早起源于 Nutch,它是 Lucene 的子项目。
Hadoop版本
Hadoop发行版本分为开源社区版和商业版,
社区版指的是apache软件基金会维护的版本,是官方维护的版本体系;
商业版Hadoop是指由第三方商业公司在社区版本Hadoop基础上进行了一些修改整合以及各个服务组件兼容性测试而发行了版本,比较著名的有cloudera的CDH,Map R,DK Hadoop等
Hadoop的模块
- Hadoop Common:支持其他Hadoop模块的常用实用程序。
- Hadoop分布式文件系统(HDFS™):一种分布式文件系统,可提供对应用程序数据的高吞吐量访问。
- Hadoop YARN:作业调度和集群资源管理的框架。
- Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。
- Hadoop Ozone: Hadoop的对象存储。
Hadoop Submarine: Hadoop的机器学习引擎。
来自 <http://hadoop.apache.org/>
Hadoop优点
- 高可靠性:按位存储和处理数据的能力值得人们信赖
- 高可拓展性:在可用的计算机集簇间分配数据并完成计算任务,集簇可扩展到数以千计的节点中
- 高容错性:自动保存数据的多个副本,自动将失败的任务重新分配
- 高效性:能够在节点中动态的移动数据,保证各个节点的动态平衡,并且处理速度很快
- 底成本性:Hadoop是开源的,可运行在廉价的机器上。
Hadoop缺点
- 不适合低延迟数据访问
- 无法高效存储大量小文件
- 不支持多用户写入及任意修改文件