zoukankan      html  css  js  c++  java
  • hadoop2.0(chd4) 通过API获取job信息

    hadoop 版本儿:hadoop-2.0-cdh4.3.0

    想做一个hive的命令的schedule,所以必须获取正在运行的job的数量。

    到网上查了一通,一开始用了JobClient,怎么弄都是Null pointor Exception,非常郁闷,不得已看了代码,发现在jobclient初始化的时候出现了这句话:

    setConf(conf);
        String tracker = conf.get("mapred.job.tracker", "local");

    可是2.0根本没有job tracker...我又看了hadoop的命令的shell文件,发现调用hadoop job ××的命令都是用的JobClient啊。所以我矛盾了,浪费了好长时间。

    然后我看了2.0的源码,发现有一个YarnRunner的类,其初始化和API和JobClient都是差不多的,所以决定用这个试试,

    首先是配置Configuration,然后在初始化YarnRunner,直接就能用了!

    好了上代码:

    Configuration conf = new Configuration();
    conf.set(CONF_KEY, CONF_VALUE);
    YarnRunner runner = new YARNRunner(conf);        

    其中的CONF_KEY是:yarn.resourcemanager.address

    value去集群上的yarn-site.xml上面看一下就好了~

    希望可以节省同行的时间~

  • 相关阅读:
    Python 基础(二)
    3.6:手写代码题(包含sql题)
    3.2:负载均衡、集群相关
    3.1:并发、安全与性能调优
    2.6:Linux/Shell脚本
    2.5:Git/Svn
    2.4:缓存
    2.3:消息中间件
    2.2:数据库
    2.1:常用框架
  • 原文地址:https://www.cnblogs.com/fbiswt/p/3469929.html
Copyright © 2011-2022 走看看