1.向src复制hadoop4个配置文件
复制Hadoop的4个配置文件放到src目录下面:core-site.xml,hdfs-site.xml,log4j.properties,mapred-site.xml,yarn-site.xml
2.修改mapred-site.xml
增加如下内容:
<configuration>
<!-- 指定mr框架为yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.remote.os</name>
<value>Linux</value>
</property>
<property>
<name>mapreduce.app-submission.cross-platform</name>
<value>true</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/usr/local/hadoop-2.6.0/etc/hadoop,
/usr/local/hadoop-2.6.0/share/hadoop/common/*,
/usr/local/hadoop-2.6.0/share/hadoop/common/lib/*,
/usr/local/hadoop-2.6.0/share/hadoop/hdfs/*,
/usr/local/hadoop-2.6.0/share/hadoop/hdfs/lib/*,
/usr/local/hadoop-2.6.0/share/hadoop/mapreduce/*,
/usr/local/hadoop-2.6.0/share/hadoop/mapreduce/lib/*,
/usr/local/hadoop-2.6.0/share/hadoop/yarn/*,
/usr/local/hadoop-2.6.0/share/hadoop/yarn/lib/*
</value>
</property>
<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node01:10020</value>
</property>
<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node01:19888</value>
</property>
</configuration>
3.修改yarn-site.xml
增加如下内容:
<property>
<name>yarn.application.classpath</name>
<value>
/usr/local/hadoop-2.6.0/etc/hadoop,
/usr/local/hadoop-2.6.0/share/hadoop/common/*,
/usr/local/hadoop-2.6.0/share/hadoop/common/lib/*,
/usr/local/hadoop-2.6.0/share/hadoop/hdfs/*,
/usr/local/hadoop-2.6.0/share/hadoop/hdfs/lib/*,
/usr/local/hadoop-2.6.0/share/hadoop/mapreduce/*,
/usr/local/hadoop-2.6.0/share/hadoop/mapreduce/lib/*,
/usr/local/hadoop-2.6.0/share/hadoop/yarn/*,
/usr/local/hadoop-2.6.0/share/hadoop/yarn/lib/*
</value>
</property>
3.执行前将代码打jar包
代码前增加如下代码:
conf.set("mapreduce.job.jar","C:\\Users\\zhaoh\\Desktop\\application.jar");
//此处代码,一定放在Job任务前面,否则会报类找不到的异常