--在pom.xml中修改<build>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.将输入、输出路径存到数组args中
#输入路径
D:\大数据实践\words.txt
#输出路径
D:\大数据实践\wordcount_output
两个路径中间用“空格”隔开
2.运行代码后,打包
先删除原有的target包,再点击“1”处,打包后重新出现“2”,有“3”代表成功
打开jar包所在的文件夹
第二个jar包比第一个多出External Libraries中的内容
将文件重命名拖到 /opt/jar下
--创建jar文件夹
[root@bigdata02 opt]# mkdir jar
com.igeekhome.mapreduce.wordcount.WordCountDriver
3.将words.txt放到/opt/file下
--创建/input文件夹
hadoop fs -mkdir /input
--将words.txt文件转移到/input文件夹中
hadoop fs -put /opt/file/words.txt /input
4.在虚拟机上执行IDEA上的代码
hadoop jar /opt/jar/mapreduce_demo.jar com.igeekhome.mapreduce.wordcount.WordCountDriver /input /output
报错:(内存限制问题)解决:先关闭dfs、yarn服务再修改以下两个文件,三个虚拟机的文件都修改完成后,重新开启服务,再执行操作
在mapred-site.xml中添加如下内容
<!-- 是否对容器强制执行虚拟内存限制 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<description>Whether virtual memory limits will be enforced for
containers</description>
</property>
<!-- 为容器设置内存限制时虚拟内存与物理内存之间的比率 -->
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>5</value>
<description>Ratio between virtual memory to physical memory when
setting memory limits for containers</description>
</property>
在yarn-site.xml中添加如下内容
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
<description>default value is 2048</description>
</property>
先修改一台虚拟机的文件内容,再拷贝到另外两台上
scp /opt/softs/hadoop3.1.3/etc/hadoop/mapred-site.xml root@bigdata03:/opt/softs/hadoop3.1.3/etc/hadoop/
scp /opt/softs/hadoop3.1.3/etc/hadoop/mapred-site.xml root@bigdata04:/opt/softs/hadoop3.1.3/etc/hadoop/
scp /opt/softs/hadoop3.1.3/etc/hadoop/yarn-site.xml root@bigdata03:/opt/softs/hadoop3.1.3/etc/hadoop/
scp /opt/softs/hadoop3.1.3/etc/hadoop/yarn-site.xml root@bigdata04:/opt/softs/hadoop3.1.3/etc/hadoop/
--检查是否拷贝成功
cat /opt/softs/hadoop3.1.3/etc/hadoop/mapred-site.xml
cat /opt/softs/hadoop3.1.3/etc/hadoop/yarn-site.xml
开启服务,重新运行代码
hadoop jar /opt/jar/mapreduce_demo.jar com.igeekhome.mapreduce.wordcount.WordCountDriver /input /output