Hadoop生态介绍

Posted 幸福右手牵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop生态介绍相关的知识,希望对你有一定的参考价值。

Hadoop生态介绍

一、Hadoop生态图解

二、Hadoop各个组件介绍

(一)各个组件

1、hadoop是hive和hbase的基础,hive依赖hadoop,而hbase仅依赖hadoop的hdfs模块。
2、Hive:数据仓库。底层基于MapReduce,用于离线计算。
3、R:数据分析。
4、Mahoot:机器学习库,基本不用了。
5、Pig:脚本语言,类似于Hive。
6、Oozle:工作流引擎,管理作业执行顺序。
7、ZooKeeper:可以无感知的切换主节点。
8、Flume:日志收集框架。
9、Sqoop:数据交换框架。在关系型数据库(mysql、oracle)和HDFS之间进行数据交换。
10、Hbase:分布式数据库,海量数据的查询,使用列式存储。MySQL使用行式存储。有happybase。用于实时计算。
11、Spark:基于内存的分布式计算框架。有pyspark。
(1)Spark core:对应于MapReduce。
(2)Spark sql:对应Hive。
(3)Spark streaming:准实时的流式计算,对应storm和flink。
(4)Spark ML:机器学习库。
12、Kafka:消息队列。
13、Storm:分布式的流式计算框架,不适合python操作。
14、Flink:分布式的流式计算框架。

(二)特点

2、特点:开源,社区活跃,涵盖大数据的方方面面,成熟。
3、版本选择:从Apache下载社区版,或者下载CDH版本。

hadoop生态系统介绍

hadoop生态系统如下图所示:

 

HDFS:

HDFS(Hadoop Distributed File System)是分布式文件系统,是针对谷歌开发的分布式文件系统GFS(Google File System)的开源实现,是Hadoop两大核心组成部分之一。

HDFS有NameNodeDataNode两部分,NameNode是整个文件系统目录,基于内存存储,存储的是一些文件的详细信息,比如文件名、文件大小、创建时间、文件位置等,有且仅有一个;DataNode存储文件的数据信息,也就是文件本身,不过是分割后的小文件。

HDFS是一种底层数据存储方式。Hive与Hbase的数据一般都存储在HDFS上,HDFS为他们提供高可靠性的底层存储支持。

 

HBase:

HBase是针对谷歌BigTable的开源实现,是一个高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。需要注意的是,HBase可以使用本地文件系统而不用HDFS作为底层数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥HBase处理大数据量等功能,一般都使用HDFS作为HBase的底层数据存储方式

HBase的运行建立在hadoop上,在hadoop生态系统中,HDFS为HBase提供了高可靠性的底层存储支持,MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS(关系型数据库)数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

HBase是一个开源的Not-Only-SQL的数据库,像其他数据库一样提供随即读写功能。HDFS最适于执行批次分析,而不能满足实时需要,HBase能够处理大规模数据,它不适于批次分析,但它可以向Hadoop实时地调用数据。如果需要实时访问一些数据,就把它存入HBase。

下面再以表格的形式对HDFS和HBase作一个比较:

 

以上是关于Hadoop生态介绍的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记Hadoop—— Hadoop介绍

大数据Hadoop生态圈组件之HBase

大数据hadoop领域技术总体介绍(各个组件的作用)

hadoop生态系统介绍

从零开始2016----大数据学习

贵阳如何学习大数据?大数据学习路线安排