现场演示与编程过程_第1页
现场演示与编程过程_第2页
现场演示与编程过程_第3页
现场演示与编程过程_第4页
现场演示与编程过程_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

云计算可靠性研究组1/35Hadoop现场演示与编程过程朱军刘锴傅雷扬安徽农业大学

云计算可靠性研究组2/35

Linux公社()于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。云计算可靠性研究组3/35主要内容

实验平台简介

Hadoop环境搭建

MapReduce编程云计算可靠性研究组4/35实验平台简介

采用XenServer分布式部署Hadoop浪潮380D5台虚拟机(CentOS)采用VirtualBox分布式部署HadoopPC5台虚拟机(CentOS)云计算可靠性研究组5/35采用XenServer分布式部署Hadoop云计算可靠性研究组6/35采用VirtualBox分布式部署Hadoop云计算可靠性研究组7/35Hadoop环境搭建Hadoop的三种部署模式Hadoop完全分布式部署HDFS节点故障演示云计算可靠性研究组8/35Hadoop的三种部署模式1、单机模式2、伪分布式模式3、完全分布式模式云计算可靠性研究组9/35

Linux公社()于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。云计算可靠性研究组10/35IP/hosts:6 7 8 9 0 Namenode/Jobtracker:Secendnamenode:datanode/tasktracker:

Newdatanode:Hadoop完全分布式部署云计算可靠性研究组11/35完全分布式部署步骤一、安装配置Java环境二、配置SSH免密码登录三、安装配置Hadoop云计算可靠性研究组12/35安装配置JAVA1、安装jdk bin/jdk-6u27-x64.bin2、修改环境变量

vim~/.bash_profile JAVA_HOME=/usr/local/jdk1.6.0_27 export$JAVA_HOME $PATH=$PATH:$JAVA_HOME/bin云计算可靠性研究组13/35配置SSH免密码登录1、生成密钥

ssh-keygen-trsa

2、拷贝密钥

ssh-copy-id-i~/.ssh/id_rsa.pubroot@remotehost云计算可靠性研究组14/35安装配置Hadoop1、解压Hadoop2、从src复制配置文件示例3、修改hadoop-evn.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、masters、slaves云计算可靠性研究组15/35core-site-xml<property>

<name>hadoop.tmp.dir</name>

<value>/home/grid/hadoop/tmp</value>#设定Hadoop临时目录

<description></description>

</property><property>

<name></name>

<value>:9100</value>#设置文件系统路径</property></configuration>

<property><name>erval</name>#节点间心跳检测间隔时间,默认10分钟<value>1000</value></property>云计算可靠性研究组16/35hdfs-site-xml<property>

<name>dfs.relplication</name>##HDFS的副本数,默认为3,如果DataNode的数量小于这个值会有问题

<value>2</value>

</property><property><name>dfs.permissions</name>##是否对dfs中的文件进行权限控制<value>false</value></property>云计算可靠性研究组17/35mapred-site-xml<property>

<name>mapred.job.tracker</name>

<value>:9200</value>##设置MapReduceJob运行的主机和端口

</property>云计算可靠性研究组18/35masters/slaves配置 masters:指定Secondnamenode的主机名

slaves:指定datanode/tasktracker的主机名 将Hadoop目录同步到所有节点服务器云计算可靠性研究组19/35启动Hadoop格式化分布式文件系统

bin/hadoopnamenode-format2、关闭所有节点的防火墙及Selinux 3、在namenode上执行

bin/start-all.sh4、查看进程运行情况

$JAVA_HOME/bin/jps云计算可靠性研究组20/35查看Hadoop运行状态HDFS状态:

MapReduce状态:

查看文件系统情况: bin/hadoopdfsadmin-report列出文件系统目录: bin/hadoopfs-ls:9100/云计算可靠性研究组21/35一、增加HDFS节点

1、新节点ip/hosts: 0 2、在新节点上安装Hadoop,配置应与NameNode一致

3、若永久填加该节点,可修改masters和slaves文件

4、临时填加节点,执行命令:

bin/hadoop-daemon.shdatanodestart 5、查看,已变为4个live节点二、新增节点故障演示

1、人为Kill掉新增节点的datanode进程

2、经过心跳检测时间后,查看页面,新增节点消失

HDFS节点故障演示云计算可靠性研究组22/35

Linux公社()于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据中心,LinuxIDC就是关于Linux的数据中心。提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。云计算可靠性研究组23/35MapReduce编程MapReduce编程过程编程实例:矩阵相乘程序调试和发布云计算可靠性研究组24/35MapReduce编程过程就是继承类与实现接口的过程。这些类与接口来自于Hadoop的Map-Reduce框架,由框架控制其执行流程。Java多态性:对象的引用型变量。编程过程的三个阶段:输入阶段计算阶段输出阶段云计算可靠性研究组25/35MapReduce编程过程云计算可靠性研究组26/35与输入相关的几个抽象类InputFormat

文件分割,读取。FileInputFormat从文件中读取数据。InputSplits

定义了输入到单个Map任务的输入数据。RecordReader

定义了如何从数据上转化为一个(key,value)对,从而输出到Mapper类中。云计算可靠性研究组27/35与计算相关的几个抽象类Mapper map()方法处理输入<K1,V1>,产生输出<K2,V2>。Reducer reduce()方法处理Map的输入<K2,list(V2)>,产生输出<K3,V3>。Combiner

实现Reducer接口,对map()输出进行规约。Partitioner

分发map()输出给不同的Reduce任务。云计算可靠性研究组28/35与输出相关的几个抽象类OutputFormat

数据输出。FileOutputFormat输出到文件。RecordWriter

输出一个记录到文件中。 云计算可靠性研究组29/35其它重要类与接口Configuration类 读取配置文件。如:core-default.xml、core-site.xml等。Job类 配置、提交Job,控制其执行,查询其状态。Writable接口 序列化输入输出。任何Key,Value都需要实现它。WritableComparable接口 可比较的序列化输入输出。任何Key都需要实现它。云计算可靠性研究组30/35编程实例:矩阵相乘编程环境准备:安装配置Java环境安装配置Hadoop安装Eclipse(Version:3.5.2)安装插件hadoop-0.20.2-eclipse-plugin.jar云计算可靠性研究组31/35实例:矩阵相乘将问题分解成MapReduce作业X<(1,1),(a11,b11)>、<(1,1),(a12,b21)>、<(1,1),(a13,b31)>KeyValuemap:计算各个Value值(求积)reduce:计算Key相同的所有Value的和(求和)云计算可靠性研究组32/35实例:矩阵相乘输入阶段文件MatrixInputFormatMatrixMatrixInputSplitMatrixInputFormat重要方法:publicintreadFile(JobContextcontext);publicList<InputSplit>getSplits(JobContext context);publicRecordReader<IntPair,IntPair> createRecordReader(InputSplitsplit, TaskAttemptContextcontext)云计算可靠性研究组33/35实例:矩阵相乘计算阶段MatrixInputSplitMatrixRecordReader<Key,Value>IntPairMatrixMapperFirstPartitionerMatrixReducer框架调用关系:MatrixRecordReader.getCurrentKey(),…

extendsRecordReaderContext.getCurrentKey(),… extendsMapContextMatrixMulti.MatrixMapper.map() extendsMapperMapper.run()TaskTracker(MapTask,ReduceTask)JobTrackerMatrixRecordReader重要方法:publicbooleannextKeyValue();publicIntPairgetCurrentKey();publicIntPairgetCurrentValue();云计算可靠性研究组34/35实例:矩阵相乘输出阶段MatrixReducerMultipleOutputFormatLineRecordWriterMultipleOutputFormat方法及调用关系:DataOutputStream.write(intb),…LineRecordWriter.write(Kkey,Vvalue)MultiRecordWriter.write(Kkey,Vvalue);MultipleOutputFormatextendsFileOutputFormat .getRecordWriter(TaskAttemptContextjob);

温馨提示

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

评论

0/150

提交评论