hadoop入门(1)——hadoop概述

一、hadoop生态系统特点

     开源、社区活跃、涉及分布式存储和计算的整个生态系统、已得到企业界验证。

     hadoop1.0与2.0版本的比较:

        1.0包含HDFS+MapReduce。

        2.0包括HDFS+YARN+MapReduce+Others

        主要区别在于引入了YARN层。集群资源管理层。

1.0-2.0区别

hadoop1.0架构hadoop2.0架构

二、hadoop介绍(以2.0版本为主)

1、分布式存储系统HDFS

            分布式存储系统

            提供了高可靠性、高扩展性和高吞吐率的数据存储服务。

            具备线性扩展的能力。

            源自于Google的GFS论文,HDFS是GFS的克隆版。

            HDFS具有良好的扩展性、高容错性(通过数据冗余来实现)、适合PB级以上海量数据的存储。

            基本原理:

                    将文件切分为等大的数据库,存储到多台机器上(分布式文件存储系统)

                    将数据切分、容错、负载均衡等功能透明化。

                    可将HDFS看成一个容量巨大、具有高容错性的磁盘。

                    namenode、datanode、zookeeper。

            应用场景:

                    海量数据的可靠性存储。

                    数据归档。

            HDFS架构图(待补充):master-slave架构

2、资源管理系统YARN(Yet Another Resource Negotiator)

            负责集群资源的统一管理和调度。是hadoop2.0新增的系统。

            使得多个计算框架可以运行在一个集群中。

            具有良好的扩展性、高可用性。

            自带了多种多用户调度器,适合共享集群环境。

            YARN调度图(待补充)

            YARN 架构图(待补充):master-slave结构。

3、分布式计算框架MapReduce

            分布式计算框架。易于编程、高容错性、高扩展性。

            源自于Google的MapReduce论文。

            具有良好的扩展性、高容错性(某个节点失败调度到其他节点)、适合PB级以上的海量数据的离线处理。

            架构图(待补充)

三、hadoop生态系统

        1.0生态系统图。

        2.0生态系统图。

        HDFS、MapReduce、Hive(数据仓库)、pig(工作流引擎)、mahout(数据挖掘库)、

        Oozie(作业流调度系统)、Hbase(分布式数据库)、sqoop(数据TEL工具)、

        Flume(日志收集)、Zookeeper(分布式协调服务)、Ambari(安装部署工具)

        YARN、Tez(DAG计算)、Spark(内存计算)、Hive2、Pig2、shark

        hive:基于MR的数据仓库,是Facebook开源的。Hive定义了HQL查询语言。通常用于离线数据处理。是MR的语言翻译器。

                应用于日志分析,统计网站的PVUV。

                海量结构化数据离线分析。

                低成本进行数据分析(因为不需要写MR程序)

                Hive架构图。

        pig:Yahoo开源,目的是提供一种基于MR的数据分析工具。定义了Pig Latin数据流语言。

        Mahout:数据挖掘库,基于hadoop的机器学习和数据挖掘的工具。实现了很多聚类、分类算法。

        HBase:源自于Google的Bigtable论文。高可用、高性能、面向列、高扩展性。

        Zookeeper:源自于Google的Chubby论文。解决分布式环境下数据管理问题:

                统一命名、状态同步、集群管理、配置同步。

        Sqoop:数据同步工具。支持多种数据库(MySQL、DB2等),连接hadoop和传统数据库的桥梁。

        Flume:cloudera开源的日志收集工具。将日志导入到hadoop中。

        Oozie:作业流调度系统。

                不同作业之间存在依赖关系(DAG),周期性作业、定时执行的作业、作业执行状态监控与报警。

四、hadoop生态系统版本衍化

    Apache hadoop、CDH(推荐)、HDP。

原文地址:https://www.cnblogs.com/tq03/p/4967048.html