本地模型运行
1:在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行
----输入输出数据可以放在本地路径下(c:/wc/srcdata/)
----输入输出数据也可以放在hdfs中(hdfs://centosReall-131:9000/wc/srcdata)
2:在linux的eclipse里面直接运行main方法,但是不要添加yarn相关的配置文件,也会提交给localjobrunner执行
----输入输出数据可以放在本地路径下(/home/hadoop/wc/srcdata/)
----输入输出数据也可以放在hdfs中(hdfs:/centosReall-131:9000/wc/srcdata)
集群模式运行
1:将工程打成jar包,上传到服务器,然后用hadoop命令提交 hadoop jar wc.jar cn.intsmaze.hadoop.mr.wordcount.WCRunner
程序编写好以后要打包成jar包放到hadoop集群上进行运行。这里打包的jar包名为wc.jar。
先把文件上传到linux目录,然后在该目录下使用指令将该jar分发到hadoop集群中并指定运行哪一个程序。
hadoop jar wc.jar cn.intsmaze.hadoop.mr.WCRunner(指定运行java类的完整路径)这个时候程序就执行了。
2:在linux的eclipse中直接运行main方法,也可以提交到集群中去运行,但是,必须采取以下措施:
----在工程src目录下加入 mapred-site.xml 和 yarn-site.xml (这两个文件在搭建hdfs时修改了的见hdfs文件夹下的搭建日志)
----将工程打成jar包(wc.jar),同时在main方法中添加一个conf的配置参数
Configuration conf = new Configuration(); conf.set("mapreduce.job.jar","wc.jar");
JAR包的位置要在运行程序的工程里面。
3:在windows的eclipse中直接运行main方法,也可以提交给集群中运行,但是因为平台不兼容,需要做很多的设置修改(很麻烦忽略)
----要在windows中存放一份hadoop的安装包(解压好的)
----要将其中的lib和bin目录替换成根据你的windows版本重新编译出的文件
----再要配置系统环境变量 HADOOP_HOME 和 PATH
----修改YarnRunner这个类的源码
作者:
intsmaze(刘洋)
老铁,你的--->推荐,--->关注,--->评论--->是我继续写作的动力。
微信公众号号:Apache技术研究院
由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。