Hadoop原理期末作业(5)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hadoop原理期末作业

一、搭建一个由三个节点构成的完全分布式非HA集群;

1、主机角色分配:

2、搭建HDFS集群:

(1)core-site.xml配置文件代码及注释所编辑的代码行作用:(5分)

fs.defaultFS

hdfs://JYM2018122101001Master:9000

(2)hadoop-env.sh配置文件代码及注释所编辑的代码行作用:(5分) export JAVA_HOME=/home/YM/software/jdk1.8.0_45

(3)hdfs-site.xml配置文件代码及注释所编辑的代码行作用:(5分)

.dir

/home/YM/dfsdate/name

dfs.datanode.data.dir

/home/YM/dfsdate/data

node.secondary.http-address

JYM2018122101001Slave01:50090

dfs.replication

2

dfs.blocksize

128M

(4)slaves配置文件代码:(1分)

JYM2018122101001Slave01

JYM2018122101001Slave02

(5)将Hadoop配置到/etc/profile系统环境变量;(2分)

export JAVA_HOME=/home/YM/software/jdk1.8.0_45

export JRE_HOME=/home/YM/software/jdk1.8.0_45/jre

export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export HADOOP_HOME=/home/YM/software/hadoop-2.8.1

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

(6)批量启动HDFS集群,查看各个节点的进程,并截图,要求截图中必须含有用户及主机名;(5分)

2、搭建简单yarn集群:

(1)yarn-site.xml配置文件的内容及注释所编辑的代码行作用;(5分)

yarn.ResourceManager.hostname

JYM2018122101001Master

yarn.NodeManager.aux-services

mapreduce_shuffle

yarn.nodemanager.resource.memory-mb

1024

yarn.nodemanager.resource.cpu-vcores

2

(2)批量启动Yarn集群,查看各个节点的进程,并截图,要求截图中每行必须含有用户及主机名;(5分)

二、使用MapReduce编写一个简单程序统计指定文件中英文单词出现的次数:

1、数据目录:

(1)数据源目录:HDFS文件系统中/wordcount/input/:自定义一个文本文件;

(2)目标输出目录:HDFS文件系统中/wordcount/output/

2、程序代码:(三个类)客户端生成工程Jar,且该工程Jar包在Hadoop的运行平台为本地模式:Local(10分)

WordCountReducer.java

package zhutu.mapreduce.wc;

import java.io.IOException;

import java.util.Iterator;

import org.apache.hadoop.io.IntWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Reducer;

/**

* 当前实现类的父类Reducer的泛型:

* 1、keyIn:接收key,并且是单词名称,Text类型;

* 2、ValueIn:接收value,是单词名称所对应值,IntWritable类型;

* 3、KeyOut:当前程序全局汇总结果中key,分组名称,即单词名称,Text;

* 4、ValueOut:当前程序全局汇总结果中key所对应的Value值,即单词出现的总次数;

*/

public class WordCountReducer extends Reducer{

/**

* 每调用一次reduce()方法,ReducerTask任务就会向其传送一个分组数据;

* 参数一:分组中的key,Text类型;

* 参数二:分组中的Value,因为一个key对应了多个value值,该参数被定义迭代器类型,用于接收分组所形成的多个1;

* 参数三:用于存储每个分组进行聚合时所产生的中间结果;

*/

@Override

protected void reduce(Text key, Iterable values,Context context) throws IOException, InterruptedException {

相关文档
最新文档