我試圖從oozie啓動sqoop動作,並嘗試過自己以及在論壇上提問。我不斷收到相同的錯誤。如何使用oozie觸發sqoop動作
job.properties:
nameNode=hdfs://FQDN:8020
jobTracker=FQDN:8050
queueName=default
user.name=oozie
oozie.use.system.libpath=true
oozie.action.sharelib.for.sqoop=hive,hcatalog,sqoop
oozie.action.sharelib.for.hive = hive,hcatalog,sqoop
oozie.wf.application.path=${nameNode}/user/${user.name}/scheduledimport
start=2016-04-26T00:00Z
end=2016-12-31T00:00Z
workflowAppUri=${nameNode}/user/${user.name}/scheduledimport
我只從oozie用戶啓動oozie作業。
我的worflow不過是一個簡單的list table命令:除此之外,我擁有oozie-site.xml中的所有默認配置。
我已經確認並在/用戶存在共享/ LIB/lib_timestamp夾/ Oozie的
<workflow-app name="once-a-day" xmlns="uri:oozie:workflow:0.1">
<start to="sqoopAction"/>
<action name="sqoopAction">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<command>list-tables --driver com.mysql.jdbc.Driver
--connect jdbc:mysql://FQDN/erp --username hive --password hive
</command>
</sqoop>
<ok to="end"/>
<error to="killJob"/>
</action>
<kill name="killJob">
<message>"Killed job due to error: ${wf:errorMessage(wf:lastErrorNode())}"</message>
</kill>
<end name="end" />
</workflow-app>
Oozie的管理員-oozie http://FQDN:11000/oozie/ -shareliblist輸出:
[Available ShareLib]
hive
mapreduce-streaming
oozie
sqoop
pig
我還試圖加入的配置inline in workflow.xml
此外,檢查我的oozie-site.xml有
<property>
<name>oozie.service.WorkflowAppService.system.libpath</name>
<value>/user/oozie/share/lib</value>
</property>
這是我的依賴關係。
哪個jar文件有org.apache.oozie.action.hadoop.SqoopMain
? 但我不斷收到此錯誤:
java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.SqoopMain not found
我已經確定,與jar文件夾已要求設置權限和訪問用戶的。嘗試更新共享/ lib文件夾。確保該文件夾具有sqoop相關的依賴關係,但不起作用。
最新的錯誤,你會得到什麼? –
@NishuTayal:請檢查更新 –