三十三、发布MapReduce程序在集群上运行之wordcount案例实施

102 阅读2分钟

环境准备:

Hadoop2.6.0 IDEA maven3.5.4

MapReduce在本地已经可以正常运行,具体见:

MapReduce之wordcount案例(环境搭建及案例实施)https://blog.csdn.net/m0_54925305/article/details/120155693https://blog.csdn.net/m0_54925305/article/details/120155693

案例实施:

1.在原pom.xml依赖中添加集群依赖:

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5</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>
                    <archive>
                        <manifest>
                            <mainClass>org.example.mapreduce.wordcount.WordCountDriver</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

2.修改WordCountDriver代码:

原本地代码为:

 修改为集群代码:

3.生成jar包:

 注:点击package生成集群运行的依赖jar包

4.找到本地生成的jar包:

成功运行完成后如图:

在这里找到jar包:

注:上面短的为不带依赖的jar包,长的为带依赖的jar包,在集群中是有很多依赖的,所以只需要导入不带依赖的jar包即可

5.拷贝并重命名jar包:

      ****将jar包拷贝到桌面并重命名为wc.jar

6.启动集群:(此处将以完全分布式作为案例)

  

7.将jar包上传到集群上:

      此处使用Xshell,Xftp传输jar包

8. 虚拟机查看jar包是否传入:

9.将数据文件上传到HDFS上:

        (1)在HDFS根目录下新建input目录:

        (2)上传本地HelloWord.txt数据文件至HDFS的input目录下 :

 注:此处依旧使用Xshell,Xftp传输数据文件 

 

        (3)将上传到虚拟机/input目录下的HelloWord.txt上传到HDFS上:

         (4)在虚拟机浏览器地址localhost:50070找到/input目录下的HelloWord.txt

 

 注:如图即为上传数据文件至HDFS成功

10.运行jar包程序:

        (1)先把wordcountDriver的全驱动类名copy出来:

         (2)运行:

        注:使用hadoop jar 命令 + (jar包在当前目录下无需加路径)jar包名 + 全驱动类名 + 输入路径 + 输出路径         #此处jar包根据自身实际情况进行修改

        运行过程注意观察这几处字样,即为运行成功:

11.检测运行结果:

        (1)将结果上传至HDFS:

         (2)在终端查看:

         (3)在虚拟机浏览器HDFS端查看:

        原数据为:

发布MapReduce程序在集群上运行之wordcount案例实施完成