zoukankan      html  css  js  c++  java
  • zeus宙斯Job提交分析--MapReduceJob提交

    最近在做Job调度管理的事情,打算利用zeus,由于git上zeus版本久远,目前公司的集群是hadoop2.X的,需要改造,并看了下源码。

    本文主要是从zeus代码里提取出来MapReduceJob的提交YARN集群方式,简化了一些不必要的过程,模拟了MapReduceJob的提交YARN集群的过程。

    image

    我将简化的工程放到github上,相见

    image

    从设计角度出发,要想将保护job作业的jar包提交到集群,需要分离调度,和具体job二部分。所以简化后的工程包括mrjobsubmit和wordcount。

    wordcount是完成对hdfs文件的单词计数的job的简单示例。

    mrjobsubmit是调度部分

    从技术角度出发,调度需要使用反射机制来调用可能的JOB,相见mrjobsubmit工程中的MapReduceMain类,并需要通过core-site.xml来传递jar位置(为什么可以这样,相见org.apache.hadoop.conf.Configuration源码)

    Job部分需要使设置mapred-site.xml和yarn-site.xml的重要配置,相见wordcount工程中的WordCount类

    接下来说下工程之后的一些操作过程。

    1.先maven package一下

    imageimage

    2.将构建好的lib文件夹、MRJobSubmit.jar和WordCount.jar上传到linux服务器上,结构如下:

    7BUG@OAQ69}K2A9MI{ROF}N

    3.执行下面命令,完成wordcountjob的提交

    java -cp '.:./*' com.leju.mrjobsubmit.MapReduceMain /data1/local/wqq/mrjob/WordCount.jar com.leju.wordcount.WordCount

    其中com.leju.mrjobsubmit.MapReduceMain是调度主函数

    参数1:/data1/local/wqq/mrjob/WordCount.jar 指定运行job的jar路径

    参数2:com.leju.wordcount.WordCount 指定job的主函数

    成功的console显示

    image

    集群监控页面可以看到wordcount的job在运行处理

    image

    image

    另外如果在windows下做job的调度与提交,在hadoop2.3的版本上,修改些源码,相见工程中的windows文件夹

    参考:

    从Java代码远程提交YARN MapReduce任务

    http://blog.csdn.net/mercedesqq/article/details/16885115

  • 相关阅读:
    mysql innodb存储引擎和myisam引擎
    php 5.5 xhprof for windows
    sqlserver 2012 部署详解
    Oracle ASM 常用命令
    oracle 基础知识(十四)----索引扫描
    oracle 基础知识(十三)----执行计划
    Oracle DG --检查
    Oracle broker--详解
    初识正则表达式
    python中闭包和装饰器的理解(关于python中闭包和装饰器解释最好的文章)
  • 原文地址:https://www.cnblogs.com/xiongmaotailang/p/5390163.html
Copyright © 2011-2022 走看看