大数据技术基础教程 课件 第3章 大数据处理框架Apache Hadoop_第1页
大数据技术基础教程 课件 第3章 大数据处理框架Apache Hadoop_第2页
大数据技术基础教程 课件 第3章 大数据处理框架Apache Hadoop_第3页
大数据技术基础教程 课件 第3章 大数据处理框架Apache Hadoop_第4页
大数据技术基础教程 课件 第3章 大数据处理框架Apache Hadoop_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章大数据处理框架ApacheHadoop《大数据技术基础教程》学习目标/Target

掌握Hadoop的安装与使用

了解Hadoop简介

了解Hadoop生态系统章节概述/

SummaryApacheHadoop是一个开源的、可运行于大规模集群上的分布式计算平台,是大数据开发所使用的一个核心框架,它实现了分布式文件系统HDFS和MapReduce计算模型等功能,是一个允许使用简单编程模型跨计算机集群分布式处理大型数据集的系统。目录/Contents010203Hadoop简介Hadoop生态系统Hadoop的安装与使用Hadoop简介11.1Hadoop概述HDFS是针对谷歌文件系统GFS(GoogleFileSystem)的开源实现,是面向普通硬件环境的分布式文件系统,具有较高的读写速度、很好的容错性和可伸缩性,支持大规模数据的分布式存储分布式文件系统HDFSMapReduce是针对谷歌MapReduce的开源实现,允许用户在不了解分布式系统底层细节的情况下开发并行应用程序,采用MapReduce来整合分布式文件系统上的数据,可以保证分析和处理数据的高效性。分布式计算框架MapReduceHadoop1.2Hadoop发展简史Hadoop雏形开始于2002年的Apache的Nutch,Nutch是一个开源Java实现的搜索引擎。2003年Google发表了一篇技术学术论文谷歌文件系统(GFS)。GFS也就是googleFileSystem,google公司为了存储海量搜索数据而设计的专用文件系统。2004年Nutch创始人DougCutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。2004年Google又发表了一篇技术学术论文MapReduce:SimplifiedDataProcessingonLargeClusters。MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行分析运算。2005年DougCutting又基于MapReduce,在Nutch搜索引擎实现了该功能。1.2Hadoop发展简史2008年1月,Hadoop成为Apache顶级项目。2008年6月,Hadoop的第一个SQL框架——Hive成为了Hadoop的子项目。2010年5月,HBase脱离Hadoop项目,成为Apache顶级项目。2010年9月,Hive脱离Hadoop,成为Apache顶级项目。2010年9月,Pig脱离Hadoop,成为Apache顶级项目。2011年12月,Hadoop1.0.0版本发布,标志着Hadoop已经初具生产规模。2013年10月,Hadoop2.0.0版本发布。2017年12月,Hadoop3.0.0版本发布1.3Hadoop的特征(1)高可靠性(2)高可扩展性(3)高效性(4)高容错性(5)成本低(6)运行在Linux平台上(7)支持多种编程语言Hadoop生态系统22.1HDFS(Hadoop分布式文件系统)2.1HDFS(Hadoop分布式文件系统)1.Client:切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。2.NameNode:Master节点,在Hadoop1.X中只有一个,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。3.DataNode:Slave节点,存储实际的数据,汇报存储信息给NameNode。4.SecondaryNameNode:辅助NameNode,分担其工作量;定期合并fsimage和edits,推送给NameNode;在紧急情况下,它可辅助恢复NameNode,但SecondaryNameNode并非NameNode的热备。2.2分布式计算框架MapReduceMapReduce是一种计算模型,用以进行大数据量的计算。MapReduce把整个并行运算过程高度抽象到两个函数上,一个是map,另一个是reduce。Map函数:map函数会将小的数据集转换为适合输入的<key,value>键值对的形式,然后处理成一系列具有相同key的<key,value>作为输出,我们可以把输出看做list(<key,value>)Reduce函数:reduce函数会把map函数的输出作为输入,然后提取具有相同key的元素进行操作,最后的输出结果也是<key,value>键值对的形式,并合并成一个文件。2.3资源管理框架Yarn2.3资源管理框架YarnHadoop2.x在原来的基础上引入了新的框架YARN(YetAnotherResourceNegotiator)。YARN的基本思想是将JobTracker的两个主要功能(资源管理和作业调度/监控)分离,主要方法是创建一个全局的ResourceManager(RM)和若干个针对应用程序的ApplicationMaster(AM)。这里的应用程序是指传统的MapReduce作业或作业的DAG(有向无环图)。2.4分布式列存数据库HBaseApacheHBase是一个开源的、分布式的、非关系型的列式数据库。HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key-Value)。HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。2.4分布式列存数据库HBase2.5基于Hadoop的数据仓库HiveHive是一个基于Hadoop的数据仓库架构,使用SQL语句读、写和管理大型分布式数据集。Hive可以将SQL语句转化为MapReduce(或ApacheSpark和ApacheTez)任务执行,大大降低了Hadoop的使用门槛,减少了开发MapReduce程序的时间成本。2.5基于Hadoop的数据仓库HiveHive是一个基于Hadoop的数据仓库架构,使用SQL语句读、写和管理大型分布式数据集。Hive可以将SQL语句转化为MapReduce(或ApacheSpark和ApacheTez)任务执行,大大降低了Hadoop的使用门槛,减少了开发MapReduce程序的时间成本。2.6分布式协作服务Zookepper2.6分布式协作服务ZookepperZooKeeper是一个分布式应用程序协调服务,主要用于解决分布式集群中应用系统的一致性问题。ZooKeeper集群由一组服务器(Server)节点组成,在这些服务器节点中有一个节点的角色为Leader,其他节点的角色为Follower。2.7日志收集工具Flume2.7日志收集工具FlumeApacheFlume是一个分布式的、可靠和易用的日志收集系统,用于将大量日志数据从许多不同的源进行收集、聚合,最终移动到一个集中的数据中心进行存储。Flume中最小的独立运行单位是Agent,Agent是一个JVM进程,运行在日志收集节点(服务器节点),其包含三个组件——Source(源)、Channel(通道)和Sink(接收地)。数据可以从外部数据源流入到这些组件,然后再输出到目的地。2.8数据同步工具SqoopSqoop是一种用于在Hadoop和关系型数据库(RDBMS,如MySQL或Oracle)之间传输数据的工具。使用Sqoop可以批量将数据从关系型数据库导入到Hadoop分布式文件系统(HDFS)及其相关系统(如HBase和Hive)中,也可以把Hadoop文件系统及其相关系统中的数据导出到关系型数据库中。Hadoop的安装与使用33.1安装准备工作第一步,使用快捷键Ctrl+Alt+T打开终端;第二步,使用sudo-s-H或sudosu-root或sudosu进入root用户;第三步,创建一个名为Hadoop的用户,并使用/bin/bash作为Shell:sudouseradd-mHadoop-s/bin/bash第四步,将Hadoop用户的密码设为Hadoop,即用户名和密码相同,注意输入密码时终端不会显示所输密码:sudopasswdHadoop第五步,为Hadoop用户增加管理员权限,以方便部署:sudoadduserHadoopsudo第六步,注销当前系统登录账户,返回到Linux系统的登录界面,选择Hadoop用户并输入密码进行登录。3.2安装SSH在Linux的终端中执行以下命令:sudoapt-getinstallopenssh-server安装后,使用如下命令来登录本机:sshHadoop@localhost或sshlocalhost3.2安装SSH设置成SSH无密码登录:①输入命令logout或exit退出刚才的SSH,回到原来的终端窗口;②通过下列命令进入.ssh目录:cd~/.ssh/③通过下列命令生成公钥(id_rsa.pub)和私钥(id_rsa):ssh-keygen-trsa④通过下列命令讲公钥写入到~/.ssh/authorized_keys中:cat./id_rsa.pub>>./authorized_keys⑤执行sshlocalhost命令,发现无需密码就能直接登录了。3.2安装SSH设置成SSH无密码登录:①输入命令logout或exit退出刚才的SSH,回到原来的终端窗口;②通过下列命令进入.ssh目录:cd~/.ssh/③通过下列命令生成公钥(id_rsa.pub)和私钥(id_rsa):ssh-keygen-trsa④通过下列命令讲公钥写入到~/.ssh/authorized_keys中:cat./id_rsa.pub>>./authorized_keys⑤执行sshlocalhost命令,发现无需密码就能直接登录了。3.3安装Java环境1)在联网状态下,通过下列命令安装JDK:sudoapt-getinstalldefault-jredefault-jdk2)JDK的安装路径为/usr/lib/jvm/default-java;3)配置JAVA_HOME环境变量,在Linux终端输入下列命令打开当前登录用户的环境变量配置文件.bashrc:vim~/.bashrc在文件最前面添加如下单独一行(注意,等号=前后不能有空格),然后保存退出:exportJAVA_HOME=/usr/lib/jvm/default-java4)然后要让环境变量立即生效,执行如下命令:source~/.bashrc5)最后,检验一下是否安装正确:java-version3.4Hadoop安装配置及使用Hadoop包括3种安装模式:1)单机模式只在一台机器上运行,存储采用本地文件系统,没有采用分布式文件系统HDFS;2)伪分布式模式存储采用分布式文件系统HDFS,但是HDFS的名称节点和数据节点都在同一台机器上;3)分布式模式存储采用分布式文件系统HDFS,而且HDFS的名称节点和数据节点位于不同机器上。本教材主要介绍单机模式和伪分布式安装。3.4Hadoop安装配置及使用伪

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论