Apache Hadoop框架允许用户使用简单的编程模型来实现计算机集群的大型数据集的分布式处理,目的是支持从单一服务器到上千台服务器的扩展。充分利用每台机器的计算和存储资源,而不是依靠硬件来提供高可用性,其本身被设计成在应用层监测和处理故障的库,对计算机集群来说,其中每台机器的顶层都被设计成可容错的,以便提供一个可用的服务。
Hadoop生态
Hadoop生态系统是一个平台或套件,可提供各种服务来解决大数据问题。它包括Apache项目以及各种商业工具和解决方案。Hadoop有四个主要要素,即HDFS,MapReduce,Yarn和Hadoop Common。大多数工具或解决方案用于补充或支持这些主要要素,所有这些工具共同协调提供了合并、分析、存储和维护数据等的服务。
- HDFS:Hadoop Distributed File System,Hadoop 分布式文件系统
- YARN:Yet Another Resource Negotiator,作业调度和资源管理框架
- MapReduce:数据并行处理程序
- Hadoop Common:Hadoop基础功能库
- Spark:内存中的数据处理
- Pig:高层次数据流并行计算语言和执行框架
- Hive:数仓基础设施,提供数据汇总和特定查询
- HBase: NoSQL kv数据库
- Mahout, Spark MLLib: 机器学习算法库
- Solar, Lucene: 检索与索引
- Zookeeper: 分布式集群应用调度管理
- Oozie: 任务调度
- Flume, Sqoop:数据收集服务
CDH概述
Cloudera提供了Hadoop的商业发行版 CDH,能够十分方便地对Hadoop集群进行安装、部署与管理。CDH是Cloudera发布的封装了Hadoop商业版软件的发行包,不仅包含了Cloudera的商业版Hadoop,同时也包含了各类常用的开源数据处理与存储框架,如Spark、Hive、HBase等。
CDH与开源版Apache Hadoop对比
考虑到Hadoop集群部署的高效性、集群稳定性以及后期集中的配置管理,业界大多使用 Cloudera 公司的发行版CDH。
Apache Hadoop虽然完全开源 但是存在诸多问题。
- 版本管理比较混乱
- 集群部署配置较复杂,通常按照集群需要编写大量配置文件,分发到每台节点上,容易出错且效率低下
- 对集群监控、运维需要安装第三方软件,运维难度较大。
- 使用Hadoop生态圈中的组件需要大量考虑兼容性,经常会浪费大量的时间去编译组件,解决版本冲突问题。
CDH Hadoop的优势在于
- 版本管理清晰
- 在兼容性、 安全性、稳定性上比Apache Hadoop有大幅度增强。
- 运维简单方便,对于 Hadoop 集群提供管理、诊断、监控、配置更改等功能,使得运维工作高效,而且集群节点越多优势越明显。
- CDH提供成体系的文档、很多大公司的应用案例以及商业支持等。
CDH部署
Cloudera Manager大数据管理平台
Cloudera Manager(简称 CM)是为了便于在集群中进行 Hadoop 服务安装与监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。Hadoop集群的软件分发及管理监控平台 过它 快速 部署好 Hadoop 集群,井对集群的节点及 行实时监控。
HDFS
MapReduce
YARN
Hive
Sqoop
HBase
Apache HBase是一个分布式、面向列的开源数据库,技术源自谷歌的Bigtable,HBase在Hadoop上提供了类似于Bigtable的能力。HBase不同于一般的关系型数据库,是一个适合于非结构化数据存储的数据库,因为它是基于列的。
Bigtable
Flume
参考文章
https://www.geeksforgeeks.org/hadoop-ecosystem/
https://data-flair.training/blogs/hadoop-ecosystem-components/
https://www.edureka.co/blog/hadoop-ecosystem
《Cloudera Hadoop大数据平台实战指南》