MapReduce代码的运行
1.1 MR代码运行的方式
一般常用的有两种方式:
(1)将代码打成Jar包,提交到Hadoop集群中运行;
该方法适用于真实生产环境,但不便于代码的调试和修改。
Jar包通过Hadoop jar 指令运行,具体指令为:Hadoop jar Jar包名称 驱动类的全路径名 代码运行时需要的参数(一般是读取文件和输出文件的路径)
(2)通过IDE连接HDFS,并在本地运行;
在驱动类(Driver.class)中添加如下代码后,右键Run As Java Application
System.setProperty("HADOOP_USER_NAME",你的用户名);
1.2 MR代码的运行结果
在代码运行成功后,会生成两个文件:_SUCCESS和part-r-00000,其中:
(1)_SUCCESS:运行成功的标志文件,大小为0,仅仅作为一个标志;
(2)part-r-00000:最终结果文件(默认条件下是一个);
在代码运行时会产生两个新的进程:MRAppMaster、YarnChild,其中:
(1)MRAppMaster:是整个运行程序的管理者,管理的是整个程序的运行进度;
(2)YarnChild:是mapTask和reduceTask运行的进程,一个YarnChild对应一个mapTask或一个reduceTask任务;