文章目录 一、hadoop诞生记 二、hadoop生态圈 三、常见组件简介 1.Hdfs: 2.Mapreduce: 3.Hive: 4.Hbase: 5.Zookeeper: 6.Sqoop: 7.Pig 二、hadoop生态圈 我们通常说到的hadoop包括两部分,一是Hadoop核心技术(或者说狭义上的hadoop),对应为apache开源社区的一个项目,主要包括三部分内容:hdfs,mapreduce 下面图给出了Hadoop技术生态圈的一个大致组件分布图: 需要说明的是,上图并没有包括当前生态圈中的所有组件。 而且hadoop生态圈技术在不断的发展,会不断有新的组件出现,一些老的组件也可能被新的组件替代。需要持续关注Hadoop开源社区的技术发展才能跟得上变化。 我们下面举例如何从apache上获取原生组件: Hadoop生态圈的各种组件和产品都在apache上。
序言 在使用大数据的时候,各种不同的数据都要将数据采集同步到数据仓库中,一个是属于业务系统的RDBMS系统,也就是各种关系型数据库,一个是hadoop生态的存储,中间用于传输的数据的工具可以使用sqoop useUnicode=true&characterEncoding=utf-8" \ --username root \ --password root \ --target-dir /user/root useUnicode=true&characterEncoding=utf-8" \ --username root \ --password root \ --target-dir /user/root useUnicode=true&characterEncoding=utf-8" \ --username root \ --password root \ --target-dir /user/root split-by 21/02/26 02:12:14 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-root/compile/e4ea9c1fb8c56a292e224d796c6812f8
序言 大数据的生态包含各种各样的组件,hive是其中之一,hive主要是作为数据仓库的工具,简化相关人员的代码工作,只要编写简单的SQL就可以实现mapreduce效果。 //hive和hadoop的联系 [root@KEL1 conf]# grep hadoop hive-env.sh # Set HADOOP_HOME to point to a specific hadoop install directory HADOOP_HOME=/opt/module/hadoop-2.7.2 //hive连接元数据库配置 [root@KEL1 conf]# cat hive-site.xml -2.7.2/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/module/hadoop-2.7.2 -Dhadoop.id.str=root -2.7.2/bin/hadoop job -kill job_1613471830232_0007 INFO : Hadoop job information for Stage-1: number
一、Hadoop 1.hadoop的初衷是采用大量的廉价机器,组成一个集群!完成大数据的存储和计算! 2.hadoop历史版本 hadoop 1.x HDFS: 负责大数据的存储 Common: HDFS和MR共有的常用的工具包模块! MapReduce: 负责计算,负责计算资源的申请的调度! 提升了Hadoop的通用性!Hadoop搭建的集群中的计算资源,不仅可以运行Hadoop中的MR程序! 也可以运行其他计算框架的程序! 在hadoop不久之后,由于MR的低效性,出现了许多更为高效的计算框架! 例如: Tez,Storm,Spark,Flink hadoop 2.x HDFS(框架):负责大数据的存储 YARN(框架): 负责大数据的资源调度 MR(编程模型): 使用Hadoop制定的编程要求
hadoop-cloud-computing.jpg Hadoop作为最早一代的大数据处理技术框架,很多企业最初开始搭建大数据系统框架,都是基于Hadoop来实现的,并且因为Hadoop技术生态圈体系成熟 Hadoop技术入门书单: 《Hadoop权威指南》 这本书可以说Hadoop必读书籍,结合理论和实践,由浅入深,全方位介绍了Hadoop技术框架、分布式文件系统、Hadoop开发运维、生态圈组件都有详细的介绍 《Hadoop实战》 这本书分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。 《HBase不睡觉书》 HBase是Hadoop生态当中的重要组件,也是学习Hadoop的重点之一。 关于Hadoop生态圈,Hadoop技术入门书单,以上就是给大家的推荐了。大数据入门,理论知识要扎实,而这些书籍,是建立大数据技术理论体系的重要工具。
学习和使用hadoop有一年了,这里主要分享一下对hadoop整体上的理解,分门别类的介绍一下相关组件,最后提供了建议的学习路线,希望对hadoop的初学者有参考作用。 1. Hadoop核心件组有哪些? 广义hadoop指什么? l 核心组件有:Hdfs、Yarn、MapReduce; l 广义上指一个生态圈,泛指大数据技术相关的开源组件或产品,如hdfs、yarn、hbase、hive、spark、pig、zookeeper Spark与hadoop之间有什么联系 l Spark也是一个生态圈,发展非很快,在计算方面比mapreduce要快很多倍,供了一个简单而丰富的编程模型,支持多种应用,包括ETL、机器学习、数据流处理 典型的组合使用场景 Hadoop、Spark生态圈的组件是相互配合使用的,每个组件都有自己“用武之地”,组合起来完成即可以满足各种系统业务需求,下面列举两个例子: (1)数据采集、存储、分析场景 该场景下完成了整个数据的采集
Hadoop生态系统 01 Hadoop在过去的几年里已经变得很成熟了。下面的图1-2显示了Hadoop生态系统堆栈。 了解其他Hadoop生态系统组件以及HBase,将有助于更好地理解大数据领域,并利用Phoenix及其最佳可用特性。在本章中,我们将概述这些组件及其在生态系统中的位置。 ? Hive是Hadoop生态系统的一部分,它为Hadoop的底层HDFS提供了一个类似sql的交互界面。您可以编写特别查询并分析存储在HDFS中的大型数据集。 10 phoenix在大数据系统中的地位 虽然Phoenix不是Hadoop生态系统不可分割的一部分,但它是有效使用Hadoop的必要工具。 尽管它不是Hadoop生态系统的必要部分,但对Hbase的需求很大。
1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 下图是hadoop生态系统,集成spark生态圈。 8.Sqoop(数据ETL/同步工具) Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。 参考文献: Hadoop生态系统介绍 http://blog.csdn.net/qa962839575/article/details/44256769? ref=myread 大数据和Hadoop生态圈,Hadoop发行版和基于Hadoop的企业级应用 http://www.36dsj.com/archives/26942 Oozie介绍 http:/
引言 大数据概述 定义 数据单位 数据意义与价值 Hadoop概述 Hadoop组成 HDFS架构概述 YARN架构概述 MapReduce架构概述 三者之间的关系 Hadoop生态圈 引言 随着科技的发展 按照数据单位的从小到大划分,依次为:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB 单位之间的换算如下: 1 Byte =8 bit 1 KB = 1,024 Bytes 我们先看Hadoop的组成结构,然后介绍Hadoop生态圈。 Hadoop生态圈了解一波~ 好吧,继续学! Hadoop生态圈 先看一张Hadoop生态体系的脑图。 妈耶,咋那么多内容啊,快把我干懵逼了。 Hadoop生态体系先介绍这么多,对其它内容感兴趣的同学自行补充。
现在先让我们了解一下 Hadoop 生态系统的构成,主要认识 Hadoop 生态系统都包括那些子项目,每个项目都有什么特点,每个项目都能解决哪一类问题,能回答这三个问题就可以了(本段属于热身…重在理解 Hadoop 生态系统组成,现状,发展,将来)。 Hadoop 的 MapReduce实现,和 Common、HDFS 一起,构成了 Hadoop 发展初期的三个组件。 Sqoop Sqoop 是 SQL-to-Hadoop 的缩写,是 Hadoop 的周边工具,它的主要作用是在结构化数据存储与 Hadoop 之间进行数据交换。 Kudu Kudu 是 cloudera 开源的运行在 hadoop 平台上的列式存储系统,拥有 Hadoop生态系统应用的常见技术特性,运行在一般的商用硬件上,支持水平扩展,高可用。
HaDoop1.0与HaDoop2.0 系统 分布式存储系统HDFS( Hadoop Distributed File System) 分布式存储系统 提供了高可靠性、高扩展性和高吞吐率的数据存储服务 Yet Another Resource Negotiator) 负责集群资源的统一管理和调度 分布式计算框架MapReduce 分布式计算框架 具有易于编程、高容错性和高扩展性等优点 Hadoop
当下 Hadoop 已经成长为一个庞大的生态体系,只要和海量数据相关的领域,都有 Hadoop 的身影。 下图是一个 Hadoop 生态系统的图谱,详细列举了在 Hadoop 这个生态系统中出现的各种数据工具。 这一切,都起源自 Web 数据爆炸时代的来临。 Hadoop 生态系统的功能以及对应的开源工具说明如下。 MapReduce HDFS Pig和Hive 、 Pig:是一种编程语言,它简化了Hadoop常见的工作任务。 Hive:在Hadoop中扮演数据仓库的角色。
一. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 随着处理任务不同,各种组件相继出现,丰富Hadoop生态圈,目前生态圈结构大致如图所示: 根据服务对象和层次分为:数据来源层、数据传输层、数据存储层、资源管理层、数据计算层、任务调度层、业务模型层。 接下来对Hadoop生态圈中出现的相关组件做一个简要介绍。 1、HDFS(Hadoop分布式文件系统) 源自于Google的GFS论文,发表于2003年10月,HDFS是GFS克隆版。 Hadoop的许多组件依赖于Zookeeper,它运行在计算机集群上面,用于管理Hadoop操作。 5. 8.Flume(日志收集工具) Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。
Hadoop生态系统主要包括:Hive、HBase、Pig、Sqoop、Flume、ZooKeeper、Mahout、Spark、Storm、Shark、Phoenix、Tez、Ambari。 Hive:用于Hadoop的一个数据仓库系统,它提供了类似于SQL的查询语言,通过使用该语言可以方便地进行数据汇总,特定查询以及分析存放在Hadoop兼容文件系统中的大数据。 Sqoop:为高效传输批量数据而设计的一种工具,用于Apache Hadoop和结构化数据存储库如关系型数据库之间的数据传输。 Spark与Hadoop一样用于构建大规模、低延时的数据分析应用。采用Scala语言实现,使用Scala作为应用框架。 Ambari:一个供应、管理和监视Apache Hadoop集群的开源框架,它提供了一个直观的操作工具和一个健壮的Hadoop API,可以隐藏复杂的Hadoop操作,使集群操作大大简化。
Hadoop生态各个组件的关系 我们将Hadoop比作一个大型的图书馆,以便更好地理解Hadoop的各个概念和组件。 Hadoop:这就是整个图书馆,它包含了各种各样的书籍和资源,提供了一个统一的框架来处理和存储大数据。 HDFS(Hadoop Distributed File System):这就像是图书馆的书架,它们用来存储所有的书籍。 Flume和Sqoop:这就像是图书馆的运输车,他们负责将新的书籍(数据)从出版社(数据源)运输到图书馆(Hadoop系统),或者将旧的书籍(数据)从图书馆(Hadoop系统)运输到回收站(外部存储系统 答:Hive和Pig都是Hadoop生态系统中的高级工具,用于处理和分析大数据。
]$ cd /opt/module [hadoop@master1 module]$ ll total 0 drwxrwxr-x 8 hadoop hadoop 159 Nov 24 10:36 apache-hive-1.1.0-bin drwxr-xr-x 16 hadoop hadoop 275 Nov 23 06:52 hadoop-2.6.0 drwxr-xr-x 8 hadoop hadoop 176 Nov 22 03:30 jdk1.6.0_45 drwxr-xr-x 8 hadoop hadoop 255 Nov 22 03:29 jdk1.8.0_171 [hadoop table student(id int, name string); (6)显示数据库中有几张表 hive> show tables; (7)查看表的结构 hive> desc student; (8) passwd from user; 7.修改 user 表,把 Host 表内容修改为% mysql>update user set host='%' where host='localhost'; 8.
Hadoop生态系统架构 二. 生态系统介绍 2.1 HDFS(分布式文件存储系统) Hadoop分布式文件系统是Hadoop项目的两大核心之一,是针对谷歌文件系统(GoogleFileSystem,GFS)的开源实现。 2.17 Hadoop Streaming(编程脚步兼容工具) Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer 2.20 Sqoop(数据库间ETL工具) Sqoop是SQL-to-Hadoop的缩写,主要用来在Hadoop和关系数据库之间交换数据的互操作性。 Hadoop之间的数据迁移变得非常方便。
?
四、大数据生态组件 Pig:Hadoop上的数据流执行引擎,由Yahoo开源,基于HDFS和MapReduce,使用Pig Latin语言表达数据流,目的在于让MapReduce用起来更简单。 五、Hadoop核心件组有哪些? 广义hadoop指什么? 核心组件有:Hdfs、Yarn、MapReduce; 广义上指一个生态圈,泛指大数据技术相关的开源组件或产品,如hdfs、yarn、hbase、hive、spark、pig、zookeeper、kafka Spark与hadoop之间有什么联系 Spark也是一个生态圈,发展非很快,在计算方面比mapreduce要快很多倍,供了一个简单而丰富的编程模型,支持多种应用,包括ETL、机器学习、数据流处理、图形计算 中,也可以将HDFS的数据导进到关系型数据库中 七、典型的组合使用场景 Hadoop、Spark生态圈的组件是相互配合使用的,每个组件都有自己“用武之地”,组合起来完成即可以满足各种系统业务需求,下面列举两个例子
一 Hadoop版本 和 生态圈 1. Hadoop版本 (1) Apache Hadoop版本介绍 Apache的开源项目开发流程 : -- 主干分支 : 新功能都是在 主干分支(trunk)上开发; -- 特性独有分支 : 很多新特性稳定性很差 对应Apache Hadoop版本 2. Hadoop生态圈 Apache支持 : Hadoop的核心项目都受Apache支持的, 除了Hadoop之外, 还有下面几个项目, 也是Hadoop不可或缺的一部分; -- HDFS : 分布式文件系统 Hadoop Streaming Hadoop多语言支持 : Java, Python, Ruby, C++; -- 多语言 : Hadoop 允许使用 其它 语言写 MapReduce 函数; -