大数据技术原理与应用:大数据处理架构Hadoop生态圈

Hadoop生态圈

概述

Hadoop简介
什么是Apache hadoop?
Apache Hadoop项目是以可靠、可扩展和分布式计算为目的而发展而来的开源软件

Apache Hadoop 软件库是一个允许在集群计算机上使用简单的编程模型来进行大数据集的分布式任务的框架。它是设计来从单服务器扩展到成千台机器上,每个机器都能高效地提供本地的计算和存储。

Hadoop发展历史



Hadoop特性

Hadoop在企业应用架构

Hadoop版本演变

Hadoop Version:0.x为Hadoop1.0;从0.23.x开始为Hadoop2.x

Hadoop版本架构演变:将繁重的调度工作整合成一个Yarn框架

其他版本Hadoop

Hadoop架构

Hadoop生态圈

产品功能简介

Hadoop生态系统图

产品术语说明
Hadoop项目包括模块:

  • Hadoop Common :通用的工具来支持其他的Hadoop模块
  • Hadoop Distributed FileSystem(HDFS):一个提供高可用获取应用数据的分布式文件系统
  • Hadoop YARN;Job调度和集群资源管理的框架
  • Hadoop MapReduce:基于YARN系统的并行处理大数据集的编程模型
    其他Hadoop相关的项目:
  • Ambari:一个基于web的工具,用来供应、管理和监测Apache Hadoop集群包括支持Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari 也提供一个可视的仪表盘来查看集群的健康状态(比如热图),并且能够以一种用户友好的方式根据其特点可视化的查看MapReduce、pig和Hive 应用来诊断其性能特征。
  • Avro :数据序列化系统。
  • Cassandra :可扩展的多主节点数据库,而且没有单节点失败情况。
  • Chukwa : 管理大型分布式系统的数据收集系统
  • HBase ; 一个可扩展的分布式数据库,支持大表的结构化数据存储
  • Hive : 一个提供数据概述和AD组织查询的数据仓库
  • Mahout :可扩展大的机器学习和数据挖掘库
  • Pig :一个支持并行计算的高级的数据流语言和执行框架
  • Spark : 一个快速通用的Hadoop数据的计算引擎。spark 提供一个简单和富有表现力的编程模型并支持多领域应用,包括ETL、机器学习、流处理 和图计算。
  • Tez : 一个通用的数据流处理框架,构建在Hadoop YARN上,提供一个有力的灵活的引擎来执行一个任意的DAG任务来处理数据(批处理和交互式两种方式)。Tez 可以被Hive、Pig和其他Hadoop生态系统框架和其他商业软件(如:ETL工具)使用,用来替代Hadoop MapReduce 作为底层的执行引擎。
  • ZooKeeper :一个应用于分布式应用的高性能的协调服务。
ambari通过开发提供、管理和监测Hadoop集群的软件使得hadoop的管理更简单
Avro 是数据序列化系统,简单的集成了动态语言,代码生成不再需要读写数据文件也不再使用或集成RPC协议。
Cassandra是一个高可扩展的、最终一致、分布式、结构化的k-v仓库,Cassandra将BigTable的数据模型和Dynamo的分布式系统技术整合在一起。
Chukwa 是一个监测大型分布式系统的开源数据收集系统。
Hbase是一个开源的,分布式,版本化,非关系的数据库,仿照自Google的BigTable,BigTable的分布式数据存储由GFS(Google File System)提供,HBase在Hadoop和HDFS上提供类似大表能力。
Hive架构:Apache Hive数据仓库软件用于查询和管理大数据集驻扎在分布式仓库上。
mahout 项目目标是构建一个快速创建可扩展高性能的机器学习应用的环境。
Pig是数据流执行引擎
Spark庞大的生态圈
Tez是一个针对Hadoop数据处理应用程序的新分布式执行框架
ZooKeeper是一个开源的来提供高可靠的分布式协调的服务

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具
Flume是一个分布式、可靠的、高可用的有效收集、聚合和转移大量日志文件的服务

Impala类似与Hive,是Cloudera公司主导开发的新型查询系统,比hive更加高效

Hadoop 安装部署

伪分布式安装

目前Hadoop的Stable版本归为2.9.0,这里以2.9.0版本为例子:

部署教程可以看我的另外一篇文章:Centos7部署Hadoop伪分布式集群.

集群部署建议

Hadoop集群中需要有哪些节点类型?

集群硬件要求

硬件配置推荐

集群网络拓扑建议
集群网络拓扑

集群部署方式建议
集群部署方式建议

集群基准测试建议
Hadoop集群基准测试:TestDFSIO/WordCountExample.jar

推荐阅读更多精彩内容