零基础大数据入门3--大数据生态系统及其各组件简介

本篇引入了大数据hadoop生态系统的概念,并对其中各组件的功能优势和出现的背景做了一个简单介绍。关于部分组件的详细介绍将会在后期博客中给出,不正确之处欢迎各位看官指正。

什么是大数据生态系统

What does Hadoop Ecosystem mean?

Definition 1:

The Hadoop ecosystem refers to the various components of the Apache Hadoop software library, as well as to the accessories and tools provided by the Apache Software Foundation for these types of software projects, and to the ways that they work together.

Definition 2:

Hadoop EcosyHstem is neither a programming language nor a service, it is a platform or framework which is extremely popular for handling and analyzing large sets of data.You can consider it as a suite which encompasses a number of services (ingesting, storing, analyzing and maintaining) inside it.

大数据生态系统习惯被称为Hadoop生态系统,这其中主要包含两个原因:

  1. 由多个具备各自特点或功能的组件共同构成,并能够相互协作完成大数据处理任务

  2. hadoop组件是其中最早出现也是最基础的组件

Hadoop 生态系统一览图

hadoop生态圈中的组件的角色如图所示(关于各组件的详细介绍会在下一节给出),特别有趣的是,hadoop生态圈的组件大多具有动物或者昆虫类的图标,而作为管理者zookeeper即表示动物园管理员,即管理动物园生态圈。

图1-1.   Hadoop 生态系统一览图

Hadoop: 分布式存储HDFS、分布式计算MAPREDUCE、资源管理和调度YARN

Hadoop:当人们思考大数据的时候,他们会立即想到 Hadoop。Hadoop 是一个开源软件架构(logo 是一头可爱的大象),它由 Hadoop 分布式文件系统(HDFS)构成,它允许使用分布式硬件对大数据进行存储、抽象和分析。如果你真的想让某人对这个东西印象深刻,你可以跟他说 YARN(Yet Another Resource Scheduler),顾名思义,就是另一个资源调度器。提出 Hadoop 的 Apache 基金会,还负责 Pig、Hive 以及 Spark(这都是一些软件的名字)等项目。

hadoop 1.x版本包含两大部分:hdfs和mapreduce,其中hdfs(Hadoop distributed file system)负责数据高可靠性的分布式的存储;mapreduce作为一种计算框架负责对海量数据进行快速的分布式的计算。hadoop 2.x版本则在1.x的版本上添加了第三个部分YARN (Yet Another Resource Negotiator) ,YARN作为一种通用的资源管理系统,可为上层应用提供统一的资源管理和调度,控制整个集群并管理应用程序向基础计算资源的分配,通俗地讲像是“管家”,其不仅限于MapReduce一种框架,也可以为其他框架使用,如Tez、Spark、Storm等(关于spark设置yarn模式将会在今后的博客中详细介绍)。此外2.x版本对hdfs和mapreduce的功能进行了扩展,对其性能也进行了优化。

图1-2.   Hadoop 1.x和2.x比较

Hive: 基于hdfs中的数据查询

基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。

在hive出现之前,要查询hdfs中的数据需要编写mapreduce程序,然后mapreduce的程序语法复杂难懂、不易上手,而DBA(database administor)在数据库中查询的时候只需要编写简单易懂的sql查询语句(简单的类 SQL 查询语言,称为 HQL)。为了解决这一问题,facebook开发了hive,其能够将简单常用的sql语句转换成复杂难懂的mapreduce任务,显著降低使用者的学习成本。Hive由Facebook开源,最初用于解决海量结构化的日志数据统计问题。

HBASE:

hbase是一个针对结构化数据的可伸缩,高可靠,高性能,分布式和面向列的动态模式数据库。和传统关系型数据库不同,hbase采用了bigtable的数据模型:增强了稀疏排序映射表(key/value)。其中,键由行关键字,列关键字和时间戳构成,hbase提供了对大规模数据的随机,实时读写访问,同时,hbase中保存的数据可以使用mapreduce来处理,它将数据存储和并行计算完美结合在一起。

Spark:

spark是一个基于内存计算的大数据框架,

  ● Spark Core:包含Spark的基本功能;尤其是定义RDD的API、操作以及这两者上的动作。

  ● Spark SQL:提供通过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。

  ● Spark Streaming:对实时数据流进行处理和控制。

  ● MLlib:一个常用机器学习算法库,算法被实现为对RDD的Spark操作。这个库包含可扩展的学习算法,比如分类、回归等需要对大量数据集进行迭代的操作。

  ● GraphX:控制图、并行图操作和计算的一组算法和工具的集合。

spark本身并不具备分布式文件系统,因此spark可以依赖于HDFS,也可以基于其他的数据

相比于Mapreduce的离线的批量处理batch processing,spark的速度更快,更适用于实时的迭代计算,且spark提供的功能更加丰富

zookeeper:

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

HUE:

Hue全称Hadoop User Experience,是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。在hue上配置notebook(实现多语言自动匹配),可以进行hive和spark查询等操作。

Apache Zeppelin:

Apache Zeppelin是一个提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, markdown等。

Storm:

分布式实时计算系统。Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。

Flume:

Flume(日志收集工具)是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力,在具体的数据流中,数据源支持在flume中定制数据发送方,从而支持收集各种不同协议数据。

pig:

数据流语言和运行环境,用以探究非常庞大的数据集。pig运行在MapReduce和HDFS之上

定义了一种数据流语言-pig latin,将脚本转换为mapreduce任务在hadoop上执行。

kafka:

Kafka是一种高吞吐量的分布式发布订阅消息系统。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。降低系统组网复杂度。降低编程复杂度,各个子系统不在是相互协商接口,各个子系统类似插口插在插座上,Kafka承担高速数据总线的作用。具有高吞吐率,支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输,同时支持离线数据处理和实时数据处理。

redis:

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis 本质上是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。

Sqoop:

sql-to-hadoop的缩写,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具\

  Oozie:

该服务用于运行和调度Hadoop作业,可以理解为一个工作流调度系统

mahout(数据挖掘算法库):

mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建只能应用程序。mahout现在已经包含了聚类,分类,推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。

资源管理器的简单介绍(YARN和mesos):

随着互联网的高速发展,基于数据 密集型应用 的计算框架不断出现,从支持离线处理的mapreduce,到支持在线处理的storm,从迭代式计算框架到 流式处理框架s4,...,在大部分互联网公司中,这几种框架可能都会采用,比如对于搜索引擎公司,可能的技术方法如下:网页建索引采用mapreduce框架,自然语言处理/数据挖掘采用spark,对性能要求到的数据挖掘算法用mpi等。公司一般将所有的这些框架部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,这样便诞生了资源统一管理与调度平台,典型的代表是mesos和yarn。

cloudrea impala:

  一个开源的查询引擎。与hive相同的元数据,SQL语法,ODBC驱动程序和用户接口,可以直接在HDFS上提供快速,交互式SQL查询。impala不再使用缓慢的hive+mapreduce批处理,而是通过与商用并行关系数据库中类似的分布式查询引擎。可以直接从HDFS或者Hbase中用select,join和统计函数查询数据,从而大大降低延迟。


关于大数据学习有很多开源资源,更多资源参考将会在下一期的分享中给出,欢迎阅读!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349