我有一个名为“CW”的动作节点,之后我放置了一个决策节点来检查“CW”是否返回错误......我应该如何编写谓词?
我试过:
${ wf:errorCode('CW') eq '' } 然后去Y
${ wf:errorCode('CW') != '' } 然后去N
虽然它返回空字符串(没有错误),但它总是转到N. 有什么建议吗?谢谢!!
我正在创建一个工作流程,我需要在其中分叉 3 个独立执行的工作。我没有必要加入。有没有办法在oozie中实现这一目标?加入 fork 是强制性的吗??
我正在尝试运行我的第一个oozie工作流程,简单的<pig>操作.
任何人都可以帮助这两个标签:
<job-tracker>[JOB-TRACKER]</job-tracker>
<name-node>[NAME-NODE]</name-node>
Run Code Online (Sandbox Code Playgroud)
据我了解,参数表示现有配置.
我正在使用预先配置的环境,所以请您帮助在哪里找到这些值?
关心
帕维尔
我试过了
oozie job -oozie http://sandbox.hortonworks.com:11000/oozie -config ./job.properties -kill *
Run Code Online (Sandbox Code Playgroud)
......没有效果.我做了一些谷歌搜索并检查了Oozie的文档,似乎没有这方面的命令.
任何人都知道如何实现这一目标吗?
我得到了以下oozie.log:
org.apache.oozie.service.ServiceException: E0104: Could not fully initialize service [org.apache.oozie.service.ShareLibService], Not able to cache sharelib. An Admin needs to install the sharelib with oozie-setup.sh and issue the 'oozie admin' CLI command to update the sharelib
Run Code Online (Sandbox Code Playgroud)
我运行以下命令:
oozie-setup.sh sharelib create -fs hdfs://localhost:54310
oozied.sh start
hdfs dfs -ls /user/hduser/share/lib
15/02/24 18:05:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 3 items
drwxr-xr-x - hduser supergroup 0 2015-02-24 17:19 /user/hduser/share/lib/lib_20150224171855
drwxr-xr-x - hduser supergroup 0 2015-02-24 …Run Code Online (Sandbox Code Playgroud) 设置 Oozie 操作的配置时,有可能允许最大retry-max重试次数,并且 Oozie 将在预定义的时间后执行重试retry-interval。在 Oozie 文档中,我找不到此间隔使用的时间单位。是秒/分/...?
我在HDFS中有一个Shell脚本。我已经通过以下工作流程在oozie中安排了此脚本。
工作流程:
<workflow-app name="Shell_test" xmlns="uri:oozie:workflow:0.5">
<start to="shell-8f63"/>
<kill name="Kill">
<message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="shell-8f63">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>shell.sh</exec>
<argument>${input_file}</argument>
<env-var>HADOOP_USER_NAME=${wf:user()}</env-var>
<file>/user/xxxx/shell_script/lib/shell.sh#shell.sh</file>
<file>/user/xxxx/args/${input_file}#${input_file}</file>
</shell>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
Run Code Online (Sandbox Code Playgroud)
工作性质
nameNode=xxxxxxxxxxxxxxxxxxxx
jobTracker=xxxxxxxxxxxxxxxxxxxxxxxx
queueName=default
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/${user.name}/xxxxxxx/xxxxxx
Run Code Online (Sandbox Code Playgroud)
args文件
tableA
tableB
tablec
tableD
Run Code Online (Sandbox Code Playgroud)
现在,shell脚本针对args文件中的单个作业名称运行。如何安排此Shell脚本并行运行。
我希望脚本同时运行10个作业。
这样做需要采取什么步骤。我应该对工作流程进行哪些更改。
我是否应该创建10个工作流来运行10个并行作业。或解决此问题的最佳方案是什么?
我的shell脚本:
#!/bin/bash
[ $# -ne 1 ] && { echo "Usage : $0 table ";exit 1; }
table=$1
job_name=${table}
sqoop job --exec ${job_name}
Run Code Online (Sandbox Code Playgroud)
我的sqoop工作脚本:
sqoop job --create ${table} -- import --connect ${domain}:${port}/${database} …Run Code Online (Sandbox Code Playgroud) 我有一个 oozie 配置:
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>batch_2</value>
</property>
<property>
<name>job.queue.name</name>
<value>batch_1</value>
</property>
</configuration>
<master>yarn-cluster</master>
<mode>cluster</mode>
<name>Batch Search Oozie</name>
<class>eu.inn.ilms.batchSearch.BatchSearch</class>
<jar>hdfs:///user/oozie/workflows/batchsearch/lib/batchSearch-0.0.1-SNAPSHOT.jar
</jar>
<arg>${zookeeperQuorum}</arg>
<arg>${solrQuery}</arg>
<arg>${hdfsFolderPaths}</arg>
<arg>${solrFinalCollection}</arg>
<arg>${mongoServiceUrl}</arg>
</spark>
Run Code Online (Sandbox Code Playgroud)
map-reduce 作业在我想要的队列上执行。但是 spark 作业仍然默认执行。是否有允许我进行设置的属性?
我通常使用以下命令检查日志:
$ oozie job -oozie http://localhost:8080/oozie -log 14-20090525161321-oozie-joe
Run Code Online (Sandbox Code Playgroud)
这将打印一切.但是我想只看到最后几行.
我怎么能拖尾oozie工作日志?
谢谢
我刚刚部署了一份oozie工作.现在,当我去oozie网站ui ...我只是看不到我部署的工作.
是否有一个命令行工具,可以让我做两件事
列出已部署的所有作业(未运行,活动,已终止)但已部署.像所有工作的清单.
从命令行执行作业.(根据要求,不是根据时间表).