目录

1、从Hadoop框架讨论大数据生态

1.1 Hadoop是什么

1.2 Hadoop发展历史

1.3 Hadoop三大发行版本

1.3.1 Apache Hadoop

1.3.2 Cloudera Hadoop

1.3.3 Hortonworks Hadoop

1.4 Hadoop的优势

1.5 Hadoop组成*

1.5.1 HDFS架构概述

1.5.2 YARN架构概述

1.5.3 MapReduce架构概述

1.6 大数据技术生态体系

1.7 推荐系统框架图


1、从Hadoop框架讨论大数据生态

1.1 Hadoop是什么

1)Hadoop是一个由Apache基金会开发的分布式系统基础架构。

2)主要解决:海量数据的存储和海量数据的分析计算问题。

3)广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。

1.2 Hadoop发展历史

1)Lucene框架是Doug Cutting开创的开源软件,用Java书写代码,实现与Google类似的全文搜索功能,它提供了全文检索引擎的架构,包括完整的查询引擎和索引引擎。

Hadoop创始人Doug Cutting

2)2001年年底Lucene成为Apache基金会的一个子项目。

3)对于海量数据的场景,Lucene面对与Google同样的困难,存储数据困难,检索速度慢

4)学习和模仿Google解决这些问题的方法:微型版Nutch。

5)可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)

GFS -> HDFSMap-Reduce -> MRBigTable -> HBase

6)2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用了2年业余时间实现了DFS和MapReduce机制,使Nutch性能飙升。

7)2005年Hadoop作为Lucene的子项目Nutch的一部分正式引入Apache基金会。

8)2006年3月份,Map-Reduce和Nutch Distributed File System(NDFS)分别被纳入到Hadoop项目中,Hadoop就此正式诞生,标志着大数据时代来临。

9)名字来源于Doug Cutting儿子的玩具大象,如图1.2-1。

图1.2-1 Hadoop的logo

1.3 Hadoop三大发行版本

Hadoop三大发行版本:Apache、Cloudera、Hortonworks。

Apache版本最原始(最基础)的版本,对于入门学习最好。

Cloudera在大型互联网企业中用的较多。

Hortonworks文档较好。

1.3.1 Apache Hadoop

官网地址:http://hadoop.apache.org/releases.html

下载地址:https://archive.apache.org/dist/hadoop/common/

1.3.2 Cloudera Hadoop

官网地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

下载地址:http://archive.cloudera.com/cdh5/cdh/5/

(1)2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持、咨询服务、培训。

(2)2009年Hadoop的创始人Doug Cutting也加盟Cloudera公司。Cloudera产品主要为CDH,Cloudera Manager,Cloudera Support

(3)CDH是Cloudera的Hadoop发行版,完全开源,比Apache Hadoop在兼容性,安全性,稳定性上有所增强。

(4)Cloudera Manager是集群的软件分发及管理监控平台,可以在几个小时内部署好一个Hadoop集群,并对集群的节点及服务进行实时监控。Cloudera Support即是对Hadoop的技术支持。

(5)Cloudera的标价为每年每个节点4000美元。Cloudera开发并贡献了可实时处理大数据的Impala项目。

1.3.3 Hortonworks Hadoop

官网地址:https://hortonworks.com/products/data-center/hdp/

下载地址:https://hortonworks.com/downloads/#data-platform

(1)2011年成立的Hortonworks是雅虎与硅谷风投公司Benchmark Capital合资组建。

(2)公司成立之初就吸纳了大约25名至30名专门研究Hadoop的雅虎工程师,上述工程师均在2005年开始协助雅虎开发Hadoop,贡献了Hadoop80%的代码。

(3)雅虎工程副总裁、雅虎Hadoop开发团队负责人Eric Baldeschwieler出任Hortonworks的首席执行官。

(4)Hortonworks的主打产品是Hortonworks Data Platform(HDP),也同样是100%开源的产品,HDP除常见的项目外还包括了Ambari,一款开源的安装和管理系统。

(5)HCatalog,一个元数据管理系统,HCatalog现已集成到Facebook开源的Hive中。Hortonworks的Stinger开创性的极大的优化了Hive项目。Hortonworks为入门提供了一个非常好的,易于使用的沙盒。

(6)Hortonworks开发了很多增强特性并提交至核心主干,这使得Apache Hadoop能够在包括Window Server和Windows Azure在内的Microsoft Windows平台上本地运行。定价以集群为基础,每10个节点每年为12500美元。

1.4 Hadoop的优势

Hadoop的优势(4高)

高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。

高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。

高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

高容错性:能够自动将失败的任务重新分配。

1.5 Hadoop组成*

Hadoop1.x 和Hadoop2.x 区别,如图1.5-2。

图1.5-2 Hadoop1.x 和Hadoop2.x 区别

在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源调度,耦合性较大;在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。

1.5.1 HDFS架构概述

HDFS(Hadoop Distributed File System)的架构概述。

1)NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。

 

2)DataNode(dn): 在本地文件系统存储文件块数据,以及块数据的校验和。

3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

1.5.2 YARN架构概述

1.5.3 MapReduce架构概述

思想: 分而治之

Map阶段  对数据和任务拆分,对每个小数据进行处理,得到一个结果

Reduce阶段 汇总Map阶段产生的结果数据,然后存储或者输出

MapReduce将计算过程分为两个阶段:Map和Reduce,如下图。

1)Map阶段并行处理输入数据: 接收要处理的数据,拆分存储,计算

2)Reduce阶段对Map结果进行汇总

举例:将10T左右的数据,在Map阶段把数据分发到hadoop集群的不同服务器上,每个服务器单独处理数据,找出2019年成龙的电影数据,等所有的服务器处理完成数据,Reduce阶段将每个服务器上的对应分区的数据下载到本地汇总。

1.6 大数据技术生态体系

图中涉及的技术名词解释如下:

1)Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySql)间进行数据的传递,可以将一个关系型数据库(例如 :MySQL,Oracle 等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

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

3)Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性:

(1)通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

(2)高吞吐量:即使是非常普通的硬件Kafka也可以支持每秒数百万的消息。

(3)支持通过Kafka服务器和消费机集群来分区消息。

(4)支持Hadoop并行数据加载。

4)Storm:Storm用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。

5)Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

6)Oozie:Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统。

7)Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

8)Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

10)R语言:R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

11)Mahout:Apache Mahout是个可扩展的机器学习和数据挖掘库。

12)ZooKeeper:Zookeeper是Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、 分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

1.7 推荐系统框架图

二、大数据技术之Hadoop --从Hadoop框架讨论大数据生态相关推荐

  1. 从Hadoop框架讨论大数据生态

    文章目录 从Hadoop框架讨论大数据生态 Hadoop 是什么(一是) Hadoop发展史(二知) Hadoop三大版本(三版) Hadoop的优势(4高) Hadoop的组成(关于吾的自身) Ha ...

  2. 大数据技术期末复习习题-前两章 大数据概述及Hadoop概述

    链接:大数据技术原理与应用期末复习第三章知识点 链接:HDFS编程实践 习题 1[单选题] 人类社会的数据产生方式大致经历了三个阶段,不包括____C____. A.运营式系统阶段 B.用户原创内容阶 ...

  3. #大数据技术#基于python的hadoop(单机)环境搭建及使用

    基于python的hadoop(单机)环境搭建及使用 0.写在前面 1.虚拟机安装centos6.5 1.1安装流程 1.1.1系统安装 1.1.2修改静态ip(超级用户) 1.1.3更换可用源(超级 ...

  4. 大数据技术原理与应用(第二章 大数据处理架构Hadoop)

    目录 2.1Hadoop简介 HDFS(分布式文件系统) MapReduce(分布式并行编程框架) Hadoop的特点 Hadoop的应用 ​编辑Hadoop版本的变化 2.2Hadoop项目结构 T ...

  5. 大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例

    大数据技术之_19_Spark学习_07 第1章 Spark 性能优化 1.1 调优基本原则 1.1.1 基本概念和原则 1.1.2 性能监控方式 1.1.3 调优要点 1.2 数据倾斜优化 1.2. ...

  6. 大数据技术原理与应用 第三篇 大数据处理与分析(三)Spark

    一. Spark简介 Spark最初由美国加州伯克利大学(UCBerkeley)的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的.低延迟的数据分析应用程序 1.1 ...

  7. 关于大数据技术的演讲_好程序员大数据培训分享大数据的两大核心技术

    好程序员大数据培训分享大数据两大核心技术,今天小编给大家先分享一下大数据的两大核心技术,知己知彼才能百战不殆,学习大数据技术也是一样的道理,要先有一个清晰的了解,才能确保自己全身心的投入学习. Had ...

  8. 大学四年我这样学习大数据技术,成为了别人眼中的大神

    在大学里,千万不要老师教什么,你就只学什么,这是远远不够的,对于我们大数据专业,甚至整个计算机专业的同学来说,大学四年最重要的能力就是自学.大学的课程不像高中那么紧,留给我们自学的时间还是比较多的,作 ...

  9. 大数据技术与应用实训心得_大数据心得体会

    大数据心得体会 [篇一:大数据时代心得体会] <大数据时代>心得体会 信息时代的到来,我们感受到的是技术变化日新月异,随之而来的 是生活方式的转变,我们这样评论着的信息时代已经变为曾经.如 ...

最新文章

  1. 【BZOJ4818】【SDOI2017】序列计数 [矩阵乘法][DP]
  2. 华硕主板X99-E WS/USB 3.1固件更新
  3. 入门Pandas不可不知的技巧
  4. Python学习第十六篇——异常处理
  5. python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
  6. 欧几里得与扩展欧几里得总结
  7. python字典占内存_Python:减少字典的内存使用
  8. Matlab toolbox Manopt流形优化工具包介绍
  9. 计算机软件著作权模板及个人申请全套攻略-软著
  10. 二进制与八进制、十进制、十六进制之间的转换
  11. sql语句查询,多字段like模糊查询优化
  12. 可以降低汽车气缸里面的机油由于摩擦产生的蓝烟的机油添加剂
  13. Newcoder 110 E.Pocky游戏(状压DP)
  14. Java XML转换为JSON XML解析 转换为JSON Java 实现JSON转换为XML json转xml
  15. 有什么实用的英语音标学习软件推荐?这有两款好用的英语音标学习软件
  16. 演说之禅:职场必知的幻灯片秘技(第2版)(全彩)
  17. 2022年 IACA 卓越货币奖 获奖及入围名单
  18. 棒棒糖-小学数学出题机v1.4.2【更新2019/12/26】
  19. 数学纠错本html模板,小学数学错题纠错本(打印版).docx
  20. 达内2020年课程资料大全

热门文章

  1. 【B2B】云呼叫中心解决方案
  2. 昔日的互联网黄埔军校,如今市值不如一栋楼,搜狐为什么掉队了?
  3. Python实现简单的爬虫获取某刀网的更新数据
  4. c语言输出天干地支,农历中天干地支的计算【C代码】
  5. CT三维重建基本后处理方法
  6. 计算机语言range,python中range输出的方法
  7. 比起传统纸质表单,在线表单制作工具优势在哪?
  8. 原始Radix Tree与路径压缩
  9. error while loading shared libraries 解决办法
  10. 计算机网络期末 【3层交换机实现VLAN间通信】假设某企业有3个主要部门,即技术部、销售部和经理部,分别处于不同的办公室