阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

174次阅读
没有评论

共计 1323 个字符,预计需要花费 4 分钟才能阅读完成。

本地模型运行

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

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1323字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中