`
dacoolbaby
  • 浏览: 1267368 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Oozie使用java启动外部包

阅读更多

在Oozie的workflow上面调用jar包,可以有两种方式,

一种是使用shell来调用:

<action name="user_action_info_q_node">
        <shell xmlns="uri:oozie:shell-action:0.2">
            <job-tracker>${jobtracker_address}</job-tracker>
            <name-node>${namenode_address}</name-node>
            <configuration>
                <property>
                  <name>mapred.job.queue.name</name>
                  <value>${mapred_job_queue_name}</value>
                </property>
            </configuration>
            <exec>hadoop</exec>
            <argument>jar</argument>
            <argument>${mongo_sync_jar_name}</argument>
            <argument>com.hive.syncJob.HiveMongoSync</argument>
            <argument>-mongo-ip</argument>
            <argument>${mongo_ip}</argument>
            <argument>-mongo-port</argument>
            <argument>${mongo_port}</argument>
        </shell>
        <ok to="info_mongo_shell_node"/>
        <error to="fail"/>
    </action>

 

一种是使用Java来调用

<action name="test1">
        <java>
            <job-tracker>${jobtracker_address}</job-tracker>
            <name-node>${namenode_address}</name-node>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${mapred_job_queue_name}</value>
                </property>
              
            </configuration>
           <main-class>test.java.main.HiveJDBCTEST</main-class>
         <capture-output/>
        </java>
        <ok to="end"/>
        <error to="fail"/>
    </action>

 

 

如果依赖外部包, 需要在项目文件下创建一个lib包,和项目文件一起put到HDFS上面去。


否则会出现ClassNotFoundException。

 

Oozie有个配置文件,会将job中的所有java文件引导到一个libpath下面:

##oozie config
#use system library
oozie.use.system.libpath=true

#use custom library
oozie.libpath=${namenode_address}/user/hadoop/share/lib/hive

 

 

 

  • 大小: 3.9 KB
分享到:
评论

相关推荐

    大数据技术之Oozie入门到精通.txt

    - 协调器用于定义周期性的作业执行,通常与外部数据源(如HDFS中的文件到达)结合使用。 - 协调器允许用户指定触发条件,如每天早上6点执行某个工作流。 - 它可以确保即使是在分布式环境下,任务也能按照预定的时间...

    Apache Hadoop---Oozie.docx

    1. 外部接口层:对外提供JAVA API、REST API、命令行接口(CLI)和Web UI(如Hue)。 2. 中间处理层:包括Oozie的工作流引擎、协调器、捆绑器和服务水平协议组件,负责任务的调度和执行。 3. 数据存储层:Oozie对象...

    extjs 2.2(oozie需要的)

    它能够协调 Hadoop 相关的作业,如 MapReduce、Pig、Hive 和 Sqoop,以及外部系统如 Java 作业或命令行程序。Oozie 提供了一个用户友好的 Web 界面和 REST API,方便用户定义、监控和管理工作流。 在部署 Oozie 时...

    精品课程推荐 大数据与云计算教程课件 优质大数据课程 35.Oozie(共41页).pptx

    Oozie协调器使得工作流可以基于时间、数据可用性或外部事件自动触发。它允许用户定义执行计划,当满足特定条件(如数据可用或时间到达)时,启动工作流作业。这种机制常用于构建数据处理管道,其中多个工作流的输出...

    hue-4.8.0.tgz

    3. **安装依赖**:Hue可能依赖于一些外部库和服务,例如Python库和Java运行时环境,确保这些都已安装并满足版本要求。 4. **构建和安装**:使用`make`命令编译Hue源代码,然后使用`make install`将Hue安装到系统...

    CDH5部署_大数据_

    启动Cloudera Manager Server后,使用浏览器访问管理界面,完成初始化设置,包括数据库配置(可以使用内置的SQLite或连接外部MySQL)以及添加集群的节点。 然后,选择要部署的服务和组件。在CDH5中,HDFS是基础服务...

    ArcGIS与Hadoop的集成

    使用Hadoop进行GIS数据的统计分析,涉及到加载必要的JAR包、创建临时函数、外部表,并进行查询测试。这使得对存储在HDFS中的GIS数据进行统计分析成为可能。 集成过程中可能会遇到一些问题,例如DataNode available...

    大数据开发指南(实际项目)

    - **2.3 编写 workflow 逻辑**:使用 Java 编写 workflow 的逻辑,包括定义各个任务之间的依赖关系等。 - **2.4 编写 workflow 测试代码**:编写测试代码以验证 workflow 的正确性。 - **2.5 编写调度配置**:定义...

    第四十九章:Hive数据仓库工具1

    Hadoop 生态圈包含了多种工具和服务,如 HDFS、MapReduce、YARN、HBase、Pig、Oozie、Zookeeper 和 Sqoop 等。它们共同构成了一个强大的大数据处理框架,Hive 是这个生态系统的一部分,用于数据仓库的管理和分析。 ...

    CDH集群安装手册(详细版)

    时间同步对于分布式系统至关重要,CentOS 7使用Chrony进行时间同步,可以通过配置文件添加外部NTP服务器来保证时间的一致性。 在系统层面,通常会进行一些优化措施,例如禁用交换分区以减少磁盘I/O开销,禁用透明大...

    apache-hive-2.3.2-bin.tar.gz

    6. **Hcatalog**:作为数据层的接口,允许外部工具如 Pig、MapReduce 或 Oozie 访问 Hive 的元数据。 **Hive 的核心功能** 1. **数据查询**:通过 HQL(Hive Query Language),类似 SQL 的语法,进行数据查询和...

Global site tag (gtag.js) - Google Analytics