攻城狮在路上(陆)-- 提交运行MapReduce程序到hadoop集群运行
此种方式不能直接在eclipse中调试代码。
首先需要在src下放置服务器上的hadoop配置文件:core-site.xml\yarn-site.xml\hdfs-site.xml\mapred-site.xml
1、在本地直接调用,执行过程在服务器上(真正企业运行环境)
a、首先把MR程序打包(jar),直接放到本地,比如C:\\Users\\Administrator\\Desktop\\wc.jar
b、修改hadoop的源码 ,在新建的Java project中拷贝下面路径的Java代码。路径保持和原来一致。注意:确保项目的lib需要真实安装的jdk的lib
org/apache/hadoop/io/nativeio/NativeIO.java
org/apache/hadoop/mapred/YARNRunner.java
c、在java project的buildpath中设置,jdk不要使用eclipse自带的,修改为自己本地安装的Jdk。
d、增加一个属性:
config.set("mapred.jar", "C:\\Users\\Administrator\\Desktop\\wc.jar");
e、本地执行main方法,可以使用servlet在界面中调用MR。
2、直接在服务器上,使用命令的方式调用,执行过程也在服务器上
a、把MR程序打包(jar),传送到服务器上
b、在服务器上通过: hadoop jar jar路径 类的全限定名 来执行。