今晚试验用java的api来提交代码,由于代码是在我机器上写的,然后提交到我的虚拟机集群当中去,所以中间产生了一个错误。。要想在任意一台机器上向oozie提交作业的话,需要对hadoop的core-site.xml文件进行设置,复制到所有机器上,然后重启hadoop集群。

设置如下:

<property>
    <name>hadoop.proxyuser.cenyuhai.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.cenyuhai.groups</name>
    <value>*</value>
</property>

这里都设置成星号,则为任意机器,任意账号。cenyuhai是我的本机账户。

然后就开始啦,用本机提交代码到oozie。代码如下:

        OozieClient wc = new OozieClient("http://192.168.1.133:11000/oozie");
        Properties conf = wc.createConfiguration();
        //conf.setProperty(OozieClient.APP_PATH,"hdfs://192.168.1.133:9000"  + appPath);
        conf.setProperty("nameNode", "hdfs://192.168.1.133:9000");
        conf.setProperty("queueName", "default");
        conf.setProperty("examplesRoot", "examples");
        conf.setProperty("oozie.wf.application.path", "${nameNode}/user/cenyuhai/${examplesRoot}/apps/map-reduce");
        conf.setProperty("outputDir", "map-reduce");
        conf.setProperty("jobTracker", "http://192.168.1.133:9001");
        conf.setProperty("inputDir", input);
        conf.setProperty("outputDir", output);

        try {
            String jobId = wc.run(conf);
            return jobId;
        } catch (OozieClientException e) {
            log.error(e);
        }

代码非常简单,先new一个OozieClient出来,然后创建一个配置文件Properties类,然后把我们用文件的Job.Properties里面写的所有参数都设置进去就行啦,然后调用run方法就打完收工了,简单吧。提交完了之后发现作业还是失败了,没关系,查看了一下详细的失败原因,发现不是因为workflow.xml设置输入输出目录的时候使用了账户的原因,没关系啦,随便它,反正提交是成功啦。

最新文章

  1. 在 docker中 运行 mono /jexus server 并部署asp.net mvc站点
  2. PHP从零开始-笔记-面向对象编程的概念
  3. TCP的三次握手四次挥手
  4. :root
  5. JavaScript作用域(链)学习笔记
  6. php学习笔记3--php中获取时间与实际时间不符
  7. linux协议栈部分资料
  8. 配置hive元数据库mysql时候出现 Unable to find the JDBC database jar on host : master
  9. Contains Duplicate III —— LeetCode
  10. oracle 自治事物 -- autonomous transaction
  11. lua IDE for cocos2d-x development
  12. VS Code开发调试.NET Core
  13. Luogu 3402 最长公共子序列(二分,最长递增子序列)
  14. Win10无法删除文件提示“你需要来自system的权限”
  15. FFmpeg源代码简单分析:avformat_find_stream_info()
  16. 前端 -- CSS基础
  17. window无法启动mongodb服务:系统找不到指定的文件错误的解决方法
  18. 【AtCoder】AGC015
  19. How to scale Complex Event Processing (CEP)/ Streaming SQL Systems?
  20. 什么是事务、事务特性、事务隔离级别、spring事务传播特性

热门文章

  1. JAVA classpath jar问题[zz]
  2. 修改hadoop FileUtil.java,解决权限检查的问题
  3. 脚本采集数据插入到influxdb数据库里
  4. 转【Python】同时向控制台和文件输出日志logging
  5. Atitit opencv模板匹配attilax总结
  6. iOS求职之C语言面试题
  7. socket.io笔记一
  8. 当update的查询条件是数组的时候,upsert会失效
  9. Rocket MQ 源码解析
  10. .NET MVC EF框架数据库连接配置