您的位置:首页 > 运维架构

Hadoop之Mapreduce------>3种运行模式

2016-12-11 16:15 253 查看
一 、本地模式运行

1/在windows的idea里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行

      ----输入输出数据可以放在本地路径下(c:/wc/srcdata/)

      ----输入输出数据也可以放在hdfs中(hdfs://hadoop03:9000/wc/srcdata)

(注意:如果提示权限错误:附给权限即可 例如:hadoop fs -chmod 777 /wordcount)

      

2/在linux的idea里面直接运行main方法,但是不要添加yarn相关的配置,也会提交给localjobrunner执行

      ----输入输出数据可以放在本地路径下(/home/hadoop/wc/srcdata/)

      ----输入输出数据也可以放在hdfs中(hdfs://hadoop03:9000/wc/srcdata)  

     

二 、集群模式运行

1/将工程打成jar包,上传到服务器,然后用hadoop命令提交 
File------>Project Structure------>+  ------>JAR ------>Empty------>Name            

                                                                                                    ------>Module Output    



    ------>将打好的jar包放到Linux中,输入命令
hadoop jar 路径 执行的主类名 (包名.类名) 要计算的文件路径(hdfs) 结果输出路径(hdfs)

例如:
hadoop  jar     /home/storm/hadoop_test/telNoCount/DataCount.jar      cn.hclt.hadoop.mr.dc.DataCount        /telNoCount/data.doc       /telNoCount/dataout

2.直接运行main方法,也可以提交到集群中去运行

在linux的idea中直接运行main方法,也可以提交到集群中去运行,但是,必须采取以下措施:

      ----在工程src目录下加入 mapred-site.xml  和  yarn-site.xml 

      ----将工程打成jar包(wc.jar),同时在main方法中添加一个conf的配置参数 

           conf.set("mapreduce.job.jar","wc.jar");

在windows的idea中直接运行main方法,也可以提交给集群中运行,但是因为平台不兼容,需要做很多的设置修改(不建议使用)
----要在windows中存放一份hadoop的安装包(解压好的)
----要将其中的lib和bin目录替换成根据你的windows版本重新编译出的文件
----再要配置系统环境变量 HADOOP_HOME  和 PATH

----修改YarnRunner这个类的源码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息