今晚试验用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设置输入输出目录的时候使用了账户的原因,没关系啦,随便它,反正提交是成功啦。

oozie java api提交作业的更多相关文章

  1. 通过java api提交自定义hadoop 作业

    通过API操作之前要先了解几个基本知识 一.hadoop的基本数据类型和java的基本数据类型是不一样的,但是都存在对应的关系 如下图 如果需要定义自己的数据类型,则必须实现Writable hado ...

  2. 使用老版本的java api提交hadoop作业

    还是使用之前的单词计数的例子 自定义Mapper类 import java.io.IOException; import org.apache.hadoop.io.LongWritable; impo ...

  3. oozie JAVA Client 编程提交作业

    1,eclipse环境搭建 在eclipse中新建一个JAVA工程,导入必要的依赖包,目前用到的有: 其次编写JAVA 程序提交Oozie作业,这里可参考:oozie官方参考文档 在运行提交程序前,首 ...

  4. Java --本地提交MapReduce作业至集群☞实现 Word Count

    还是那句话,看别人写的的总是觉得心累,代码一贴,一打包,扔到Hadoop上跑一遍就完事了????写个测试样例程序(MapReduce中的Hello World)还要这么麻烦!!!?,还本地打Jar包, ...

  5. 利用SparkLauncher 类以JAVA API 编程的方式提交Spark job

    一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz jav ...

  6. oozie 重新提交作业

    在oozie的运行过程当中可能会出现错误,比如数据库连接不上,或者作业执行报错导致流程进入suspend或者killed状态,这个时候我们就要分析了,如果确实是数据或者是网络有问题,我们比如把问题解决 ...

  7. [源码解析]Oozie来龙去脉之提交任务

    [源码解析]Oozie来龙去脉之提交任务 0x00 摘要 Oozie是由Cloudera公司贡献给Apache的基于工作流引擎的开源框架,是Hadoop平台的开源的工作流调度引擎,用来管理Hadoop ...

  8. 5 weekend01、02、03、04、05、06、07的分布式集群的HA测试 + hdfs--动态增加节点和副本数量管理 + HA的java api访问要点

    weekend01.02.03.04.05.06.07的分布式集群的HA测试 1)  weekend01.02的hdfs的HA测试 2)  weekend03.04的yarn的HA测试 1)  wee ...

  9. Hadoop 系列(三)Java API

    Hadoop 系列(三)Java API <dependency> <groupId>org.apache.hadoop</groupId> <artifac ...

随机推荐

  1. [转]Filter 过滤器

    1.简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 ...

  2. JavaScript语言精粹之对象

    用object.hasOwnProperty(variable)来确定这个属性名是否为该对象成员,还是来自于原型链. for(my in obj){ if(obj.hasOwnProperty(my) ...

  3. .net framework多个版本在IIS服务器上时应注意-重新注册IIS-错误Server Application Unavailable

    今天客户一个附件上传的应用程序报错,服务器安装了.net 4.0 framework(还有1.0和2.0版本),因为有网站程序需要用到2.0,配置好站点后,附件程序是用的2.0,Mail程序选择版本为 ...

  4. 使用 properties 配置文件装配 bean 的方式

    在spring中将bean 注册到spring 容器中常见的有三种方式(两类): 先说明配置文件内容:application.yml,有一段配置如下 persons: youtube: name: y ...

  5. mybatis 框架动态传入参数${}和#{}之间的区别

    动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先来熟悉下myb ...

  6. sublime unityshaderplugin

  7. centos 7部署graphite(nginx+uwsgi)

    http://www.debugrun.com/a/o5qyP9W.htmlhttp://blog.csdn.net/tsingfu1986/article/details/44239503 http ...

  8. MySQL 自带工具使用介绍

    MySQL 数据库不仅提供了数据库的服务器端应用程序,同时还提供了大量的客户端工具程序,如mysql,mysqladmin,mysqldump 等等,都是大家所熟悉的.虽然有些人对这些工具的功能都已经 ...

  9. Android Studio 1.1.0版本以上 优化编译

    本文不写内容,只是借用别人链接.不过大概内容都如下链接: http://blog.csdn.net/hyr83960944/article/details/38388429 http://bbs.it ...

  10. [DIOCP3-说明书] 关于DEMO的编译

    总有些朋友问我,关于DEMO编译的一些问题,每次都回答大概都差不多,我想还是写篇说明书给大家,关于DEMO编译的步骤.   [环境设定] 1.将DIOCP3\source路径添加到Delphi的搜索路 ...