你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop中MR程序的几种提交运行模式

[日期:2016-06-26] 来源:Linux社区  作者:intsmaze [字体: ]

本地模型运行

1:在Windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行
      ----输入输出数据可以放在本地路径下(c:/wc/srcdata/)
      ----输入输出数据也可以放在hdfs中(hdfs://weekend110:9000/wc/srcdata)
 
2:在Linux的eclipse里面直接运行main方法,但是不要添加yarn相关的配置文件,也会提交给localjobrunner执行
      ----输入输出数据可以放在本地路径下(/home/Hadoop/wc/srcdata/)
      ----输入输出数据也可以放在hdfs中(hdfs://weekend110: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的配置参数 
 
1
2
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这个类的源码
 
* 假设的你几行代码可以完成某个功能,抽取成一个方法 * 假设在某个业务逻辑层可以共用,往上抽取, * 假设在多个业务层可以共用,提炼成工具类。 * 假设你的这个业务方法在多个系统需要被使用,发布成一个服务.

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-06/132679.htm

linux
相关资讯       Hadoop运行模式 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款