Hadoop平台搭建和测试.ppt_第1页
Hadoop平台搭建和测试.ppt_第2页
Hadoop平台搭建和测试.ppt_第3页
Hadoop平台搭建和测试.ppt_第4页
Hadoop平台搭建和测试.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

Hadoop平台的搭建 1 什么是Hadoop Hadoop是一个能够对大量数据进行分布式处理的软件框架 Hadoop是高效的 因为它以并行的方式工作 通过并行处理加快处理速度 2 Hadoop的构成 Hadoop是项目的总称 主要是由HDFS和MapReduce组成 HDFS是GoogleFileSystem GFS 的开源实现 MapReduce是GoogleMapReduce的开源实现 3 HDFS HDFS把节点分成两类 NameNode和DataNode NameNode是唯一的 程序与之通信 然后从DataNode上存取文件 这些操作是透明的 与普通的文件系统API没有区别 Hadoop也跟其他云计算项目有共同点和目标 实现海量数据的计算 而进行海量计算需要一个稳定的 安全的数据容器 才有了Hadoop分布式文件系统 HDFS HadoopDistributedFileSystem 4 MapReduce 最简单的MapReduce应用程序至少包含3个部分 一个Map函数 一个Reduce函数和一个main函数 main函数将作业控制和文件输入 输出结合起来 在这点上 Hadoop提供了大量的接口和抽象类 从而为Hadoop应用程序开发人员提供许多工具 可用于调试和性能度量等 5 MapReduce 6 MapReduce Hadoop上 一个代表客户机在单个主系统上启动的MapReduce应用程序称为JobTracker 类似于NameNode 它是Hadoop集群中惟一负责控制MapReduce应用程序的系统 在应用程序提交之后 将提供包含在HDFS中的输入和输出目录 JobTracker使用文件块信息 物理量和位置 确定如何创建其他TaskTracker从属任务 MapReduce应用程序被复制到每个出现输入文件块的节点 将为特定节点上的每个文件块创建一个惟一的从属任务 每个TaskTracker将状态和完成信息报告给JobTracker HDFS和MapReduce实现是完全分离的 并不是没有HDFS就不能MapReduce运算 7 Hadoop的安装 确保在你集群中的每个节点上都安装了所有必需软件 sun JDK ssh HadoopJava1 6 0 必须安装 ssh必须安装并且保证sshd一直运行 以便用Hadoop脚本管理远端Hadoop守护进程 8 安装JDK 1 从sun主页下载JDKforLinux版本 这里下载的是jdk 6u6 linux i586 bin 2 用root用户登录ubuntu 切换到所需的安装目录 类型 cd例如 要在 usr java 目录中安装软件 请键入 cd usr java 把jdk 6u6 linux i586 bin文件拷贝这个目录里面 设置权限为可执行类型 chmoda xjre 6u6 linux i586 bin3 启动安装过程 键入 jre 6u linux i586 bin 接下来会提示二进制的许可协议 键入yes回车即可 安装过程如果遇到一些问题 都同样键入yes就可以 4 一路下来 最后看到Done字样 就完成了Java环境的安装 安装的位置就是当前目录 usr java 当然你可以选择在别的位置 可以用ls命令查看一下是否正常 5 修改 etc profile文件 用命令 sudogedit etc profile 在末尾加上下面几行 JAVA HOME usr java jdk1 6 0 25PATH PATH JAVA HOME binCLASSPATH JAVA HOME libexportJAVA HOMEexportPATHexportCLASSPATH具体可以参看这里 JDK环境变量的设置 6 验证安装 java version 9 安装ssh 1 确认已经连上互联网 输入命令sudoapt getinstallssh2 配置ssh无密码登陆ssh keygen trsa3 进入 home username 文件夹下cd ssh 4 输入cpid rsa pubauthorized keys5 验证是否无密码成功 sshlocalhost 10 Hadoop的配置 1 下载hadoop Hadoop 1 1 1 tar gz 然后将其解压2 进入hadoop文件夹下的conf文件夹进行配置 11 Hadoop的配置 MapReduce程序可以以以下三种模式运行 Local Standalone Mode 只有一个Java虚拟机在跑 完全没有分布式的成分 且不使用HDFS文件系统 而是使用本机的Linux文件系统 Pseudo distributedMode 在同一台机器上启动独立数个JVM进程 每一个hadoopdaemon运行在一个单独的JVM进程中 进行 伪分布式 操作 Fully distributedMode 真正的可以运行于多台机器上的分布式模式 其中 Standalonemode使用localfilesystem以及localMapReducerjobrunner Distributedmode使用HDFS以及MapReducedaemons 12 Hadoop的配置 conf core site xml 为Hadoop设定默认的文件系统fs default nameVALUEStandalonemode VALUE file Pseudo distributedmode VALUE hdfs localhost 9000Fully Distributedmode VALUE hdfs namenodeHDFSdaemon将使用该配置属性来决定用作NameNode的主机及端口号 13 Hadoop的配置 conf hdfs site xmldfs replicationVALUEStandalonemode VALUE N A 数据无副本该属性无效 Pseudo distributedmode VALUE 1 只有1个DataNode Fully Distributedmode VALUE 任意值 默认为3 14 Hadoop的配置 conf mapred site xmlmapred job trackerVALUEStandalonemode VALUE localPseudo distributedmode VALUE localhost 9001Fully Distributedmode VALUE jobtracker 9001HDFSclient使用这个属性来决定NameNode的位置 这样HDFSclient就可以连接到该NameNode 15 Hadoop的配置 此外 还要把conf hadoop env xml文件中的JAVA HOME设为JDK所在的路径 因为Hadoop MapReduce编译和运行时需要用到JVM 另外 请将当前用户的身份切换到root 或者将hadoop目录及其全部的子目录和文件的属主和群组改为当前用户 用命令sudochown Rusr usrhadoop 16 Hadoop的配置 格式化文件系统 控制台进入hadoop文件夹后 Bin hadoopnamenode format启动Hadoop Bin start all sh验证是否启动 http localhost 50030 mapreduce http localhost 50070 HDFS 17 MapReduce任务执行过程回顾 18 WordCount数据流概览 19 一个Python的WordCount例子 mapper py文件1 usr bin python2 importsys 处理标准输入中的每一行3 forlineinsys stdin 4 forwordinline split 从一行中提取出每一个单词并输出5 sys stdout write s t d n word 1 20 一个Python的WordCount例子 reducer py文件1 usr bin python2 importsys3 dict 创建一个字典数据结构 每一行输入的格式为4 forlineinsys stdin 5 word count line split 将一行输入中的word与count提取出来6 count int count 7 dict word dict get word 0 count 为每一个单词计数8 forkeyindict keys 9 sys stdout write s t d n key dict key 输出每一个 word count 21 测试该Mapper与Reducer是否正确 编写测试数据文件text datHelloHadoopHelloMapReduceHelloJavaandPython键入命令cattext dat mapper py reducer py输出结果and1Java1Python1MapReduce1Hadoop1Hello3 22 Java代码简要分析 Jobjob newJob conf wordcount 原型 Job Configurationconf StringjobName job setJarByClass WordCount class SettheJarbyfindingwhereagivenclasscamefromjob setMapperClass TokenizerMapper class SettheMapperforthejobjob setCombinerClass IntSumReducer class Setthecombinerclassforthejob 23 Java代码简要分析 job setReducerClass IntSumReducer class SettheReducerforthejob job setOutputKeyClass Text class Setthekeyclassforthejoboutputdata job setOutputValueClass IntWritable class Setthevalueclassforjoboutputs FileInputFormat addInputPath job newPath otherArgs 0 原型 staticvoidaddInputPath JobConfconf Pathpath AddaPathtothelistofinputsforthemap reducejob 24 Java代码简要分析 FileOutputFormat setOutputPath job newPath otherArgs 1 原型 staticvoidsetOutputPath JobConfconf PathoutputDir SetthePathoftheoutputdirectoryforthemap reducejob System exit job waitFo

温馨提示

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

评论

0/150

提交评论