一、项目起源
Hadoop由 Apache Software Foundation 公司于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。
二、核心组件与应用
1、核心组件
核心组件包括Hadoop的基础组件HDFS、MapReduce和Yarn,以及其他常用组件:Hbase、Hive、Hadoop Streaming、Zookeeper等。
2、组件介绍
- HDFS:分布式海量数据存储功能
- Yarn:提供资源调度与任务管理功能
- 资源调度:根据申请的计算任务,合理分配集群中的计算节点(计算机)。
- 任务管理:任务在执行过程中,负责过程监控、状态反馈、任务再调度等工作。
- MapReduce:分布式并行编程模型和计算框架。解决分布式编程门槛高的问题,基于其框架对分布式计算的抽象map和reduce,可以轻松实现分布式计算程序。
- Hive:提供数据摘要和查询的数据仓库。解决数据仓库构建问题,基于Hadoop平台的存储与计算,与传统SQL相结合,让熟悉SQL的编程人员轻松向Hadoop平台迁移。
- Streaming:解决非Java开发人员使用Hadoop平台的语言问题,使各种语言如C++、python、shell等均可以无障碍使用Hadoop平台。
- HBase:基于列式存储模型的分布式数据库。解决某些场景下,需要Hadoop平台数据及时响应的问题。
- Zookeeper:分布式协同服务。主要解决分布式下数据管理问题:统一命名、状态同步、集群管理、配置同步等。
三、Hadoop生态圈
Ambari平台环境介绍
- Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。
- 同类产品为Cloudera Manager的CDH。
- 优点:
- Web安装图形界面操作便捷
- Hadoop家族各组件支持全面
- 社区资源比较丰富
- 缺点:
- Bug较多:安装过程中,莫名其妙的出现错误。系统运维过程中偶尔出错。以上两种情况重启就正常。
- 安装速度与网络质量关系较大,往往时间较长。
- 在合理避免大坑的情况下,3小时内可以搭建一个基本版的集群。