Hadoop现场演示与编程过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云计算可靠性研究组
21/35
MapReduce编程过程 编程过程
云计算可靠性研究组
22/35
与输入相关的几个抽象类
◆InputFormat 文件分割,读取。 文件分割,读取。FileInputFormat从文件中 从文件中 读取数据。 读取数据。 ◆InputSplits 定义了输入到单个Map任务的输入数据。 定义了输入到单个 任务的输入数据。 任务的输入数据 ◆RecordReader 定义了如何从数据上转化为一个(key,value)对 定义了如何从数据上转化为一个 对 从而输出到Mapper类中。 类中。 ,从而输出到 类中
云计算可靠性研究组
6/35
Hadoop 的三种部署模式
1、单机模式 、 2、伪分布式模式 、 3、完全分布式模式 、
云计算可靠性研究组
7/35
Hadoop完全分布式部署 完全分布式部署
IP/hosts: 210.45.176.46 hadoop1.ahau.edu.cn 210.45.176.47 hadoop2.ahau.edu.cn 210.45.176.48 hadoop3.ahau.edu.cn 210.45.176.49 hadoop4.ahau.edu.cn 210.45.176.50 hadoop5.ahau.edu.cn Namenode/Jobtracker: hadoop1.ahau.edu.cn Secendnamenode: hadoop2.ahau.edu.cn datanode/tasktracker: hadoop2.ahau.edu.cn hadoop3.ahau.edu.cn hadoop4.ahau.edu.cn New datanode: hadoop5.ahau.edu.cn
云计算可靠性研究组
10/35
配置SSH免密码登录 免密码登录 配置
1、生成密钥 、 ssh-keygen -t rsa 2、拷贝密钥 、 ssh-copy-id -i ~/.ssh/id_rsa.pub root@remotehost
云计算可靠性研究组
11/35
安装配置Hadoop 安装配置
1、解压Hadoop 、解压 2、从src复制配置文件示例 、 复制配置文件示例 3、修改hadoop-evn.sh、core-site.xml、hdfs、修改 、 、 site.xml、mapred-site.xml、masters、 、 、 、 slaves
云计算可靠性研究组
12/35
core-site-xml
<property> <name>hadoop.tmp.dir</name> #设定Hadoop临时目录 设定Hadoop <value>/home/grid/hadoop/tmp</value> #设定Hadoop临时目录 <description> </description> </property> <property> <name>fs.default.name</name> #设置文件 <value>hdfs://hadoop1.ahau.edu.cn:9100</value> #设置文件 系统路径 </property> </configuration> <property> #节点间心跳检测间 <name>heartbeat.recheck.interval</name> #节点间心跳检测间 隔时间,默认10 10分钟 隔时间,默认10分钟 <value>1000</value> </property>
二、新增节点故障演示
1、人为Kill掉新增节点的 、人为 掉新增节点的datanode进程 进程 掉新增节点的 2、经过心跳检测时间后,查看 页 、经过心跳检测时间后,查看http://hadoop1.ahau.edu.cn:50070页 面,新增节点消失
云计算可靠性研究组
19/35
MapReduce 编程
◆ MapReduce编程过程 编程过程 ◆ 编程实例:矩阵相乘 编程实例: ◆ 程序调试和发布
云计算可靠性研究组
20/35
MapReduce编程过程 编程过程
◆就是继承类与实现接口的过程。这些类与接口 就是继承类与实现接口的过程。 就是继承类与实现接口的过程 来自于Hadoop的Map-Reduce框架,由框架 来自于 的 框架, 框架 控制其执行流程。 控制其执行流程。 ◆Java多态性:对象的引用型变量。 多态性: 多态性 对象的引用型变量。 编程过程的三个阶段: 编程过程的三个阶段: ◆输入阶段 输入阶段 ◆计算阶段 计算阶段 ◆输出阶段 输出阶段
云计Leabharlann Baidu可靠性研究组
16/35
启动Hadoop 启动
1. 格式化分布式文件系统 bin/hadoop namenode -format 2、关闭所有节点的防火墙及Selinux 关闭所有节点的防火墙及Selinux 3、在namenode上执行 namenode上执行 bin/startbin/start-all.sh 4、查看进程运行情况 $JAVA_HOME/bin/jps
云计算可靠性研究组
3/35
采用XenServer分布式部署 分布式部署Hadoop 采用 分布式部署
云计算可靠性研究组
4/35
采用VirtualBox分布式部署 分布式部署Hadoop 采用 分布式部署
云计算可靠性研究组
5/35
Hadoop 环境搭建
◆Hadoop的三种部署模式 的三种部署模式 ◆Hadoop完全分布式部署 完全分布式部署 ◆HDFS节点故障演示 节点故障演示
云计算可靠性研究组
8/35
完全分布式部署步骤
一、安装配置 Java环境 环境 二、配置SSH免密码登录 配置 免密码登录 三、安装配置Hadoop 安装配置
云计算可靠性研究组
9/35
安装配置JAVA 安装配置
1、安装jdk 、安装 bin/jdk-6u27-x64.bin 2、修改环境变量 、 vim ~/.bash_profile JAVA_HOME=/usr/local/jdk1.6.0_27 export $JAVA_HOME $PATH=$PATH:$JAVA_HOME/bin
云计算可靠性研究组
26/35
编程实例:矩阵相乘 编程实例:
编程环境准备: 编程环境准备:
◆安装配置 安装配置Java环境 安装配置 环境 ◆安装配置 安装配置Hadoop 安装配置 ◆安装 安装Eclipse(Version: 3.5.2) 安装 ◆安装插件hadoop-0.20.2-eclipse-plugin.jar 安装插件
云计算可靠性研究组
27/35
实例:矩阵相乘 实例:
将问题分解成MapReduce作业 将问题分解成 作业
Hadoop现场演示与编程过程 现场演示与编程过程
朱军 刘锴 傅雷扬 安徽农业大学
云计算可靠性研究组
1/35
主要内容
◆ 实验平台简介 ◆ Hadoop 环境搭建 ◆ MapReduce 编程
云计算可靠性研究组
2/35
实验平台简介
◆ 采用 采用XenServer分布式部署 分布式部署Hadoop 分布式部署 ● 浪潮 浪潮380D ● 5台虚拟机(CentOS) 台虚拟机( 台虚拟机 ) ◆ 采用 采用VirtualBox分布式部署 分布式部署Hadoop 分布式部署 ● PC ● 5台虚拟机(CentOS) 台虚拟机( 台虚拟机 )
云计算可靠性研究组
##是否对dfs中的文件进行 ##是否对dfs中的文件进行 是否对dfs
14/35
mapred-site-xml
<property> <name>mapred.job.tracker</name> <value>hadoop1.ahau.edu.cn:9200</va ##设置 设置MapReduce Job运行的主机 lue> ##设置MapReduce Job运行的主机 和端口 </property>
云计算可靠性研究组
17/35
查看Hadoop运行状态 运行状态 查看
HDFS状态: 状态: 状态 http://hadoop1.ahau.edu.cn:50070/ MapReduce状态 状态: 状态 http://hadoop1.ahau.edu.cn:50030/ 查看文件系统情况: 查看文件系统情况 bin/hadoop dfsadmin -report 列出文件系统目录: 列出文件系统目录
云计算可靠性研究组
23/35
与计算相关的几个抽象类
◆Mapper map()方法处理输入 1, V1>,产生输出 2, V2>。 方法处理输入<K 方法处理输入 ,产生输出<K 。 ◆Reducer reduce()方法处理 方法处理Map的输入 2, list(V2)>,产生输 的输入<K 方法处理 的输入 , 出<K3, V3>。 。 ◆Combiner 实现Reducer接口,对map()输出进行规约。 接口, 输出进行规约。 实现 接口 输出进行规约 ◆Partitioner 分发map()输出给不同的 输出给不同的Reduce任务。 任务。 分发 输出给不同的 任务
bin/hadoop fs -ls hdfs://hadoop1.ahau.edu.cn:9100/
云计算可靠性研究组
18/35
HDFS节点故障演示 节点故障演示
一、增加HDFS节点 增加 节点
1、新节点ip/hosts: 、新节点 210.45.176.50 hadoop5.ahau.edu.cn 2、在新节点上安装 、在新节点上安装Hadoop,配置应与 ,配置应与NameNode一致 一致 3、若永久填加该节点,可修改masters和slaves文件 、若永久填加该节点,可修改 和 文件 4、临时填加节点,执行命令: 、临时填加节点,执行命令: bin/hadoop-daemon.sh datanode start 5、查看 、查看http://hadoop1.ahau.edu.cn:50070,已变为 个live节点 ,已变为4个 节点
云计算可靠性研究组
24/35
与输出相关的几个抽象类
◆OutputFormat 数据输出。 输出到文件。 数据输出。FileOutputFormat输出到文件。 输出到文件 ◆RecordWriter 输出一个记录到文件中。 输出一个记录到文件中。
云计算可靠性研究组
25/35
其它重要类与接口
◆Configuration类 类 读取配置文件。 读取配置文件。如:core-default.xml、core、 site.xml等。 等 ◆Job类 类 配置、提交Job,控制其执行,查询其状态。 配置、提交 ,控制其执行,查询其状态。 ◆Writable接口 接口 序列化输入输出。任何Key, Value都需要实现它。 都需要实现它。 序列化输入输出。任何 都需要实现它 ◆WritableComparable接口 接口 可比较的序列化输入输出。任何Key都需要实现它。 都需要实现它。 可比较的序列化输入输出。任何 都需要实现它
云计算可靠性研究组
13/35
hdfs-site-xml
<property> ##HDFS的副本数 默认为3 的副本数, <name>dfs.relplication</name> ##HDFS的副本数,默认为3 如果DataNode DataNode的数量小于这个值会有问题 ,如果DataNode的数量小于这个值会有问题 <value>2</value> </property> <property> <name>dfs.permissions</name> 权限控制 <value>false</value> </property>
云计算可靠性研究组
15/35
masters/slaves 配置
masters:指定Secondnamenode的主机名 masters:指定Secondnamenode的主机名 Secondnamenode slaves:指定datanode/tasktracker的主机名 slaves:指定datanode/tasktracker的主机名 datanode/tasktracker 将Hadoop目录同步到所有节点服务器 Hadoop目录同步到所有节点服务器
相关文档
最新文档