talend-无法运行作业-noclassdeffounderror

yacmzcpb  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(382)

对于涉及mysql和hive的作业,我使用talendv6.0.1和javajdk1.8u65。使用mysql函数的作业工作得很好,而在另一端使用hive的作业总是以一种非常奇怪的方式崩溃。
事情是这样的:
我打开talend,使用hive运行作业,它可以工作:

Démarrage du job InsertCustomers_Into_Hive a 16:39 13/11/2015.
[statistics] connecting to socket on port 3543
[statistics] connected
 START JOB TO LOAD PROJECT CONTEXT C:\webs\project
ContextReader_PROJECT: context will be loaded from C:\webs\project/project-batch.properties
...

我再次运行它,它不再工作:

Démarrage du job InsertCustomers_Into_Hive a 16:40 13/11/2015.
[statistics] connecting to socket on port 3881
[statistics] connected
Exception in thread "main" java.lang.NoClassDefFoundError: project_batch_talend/contextreader_project_1_0/ContextReader_PROJECT
    at project_batch_talend.insertcustomers_into_hive_0_1.InsertCustomers_Into_Hive.tRunJob_1Process(InsertCustomers_Into_Hive.java:2382)
    at project_batch_talend.insertcustomers_into_hive_0_1.InsertCustomers_Into_Hive.runJobInTOS(InsertCustomers_Into_Hive.java:4981)
    at project_batch_talend.insertcustomers_into_hive_0_1.InsertCustomers_Into_Hive.main(InsertCustomers_Into_Hive.java:4622)
Caused by: java.lang.ClassNotFoundException: project_batch_talend.contextreader_project_1_0.ContextReader_PROJECT
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 3 more
[statistics] disconnected
Job InsertCustomers_Into_Hive terminé à 16:40 13/11/2015. [Code sortie=1]

如果我运行任何其他作业(包括通常不会给我带来任何麻烦的mysql作业),我会得到相同的错误。
我试着在另一台机器上安装相同的环境,我得到了相同的错误。
我希望你能给我一个解决这个问题的办法。干杯
亚历克斯

vom3gejh

vom3gejh1#

找到了这个问题的答案。如果这种情况发生在你身上,可能是因为你在重用别人的工作。
thiveconnection参数\u 1
转到thiveconnection\u 1组件的参数,单击分发选项左侧的按钮,删除所有库。之后,你会被要求重新加载它们。选择一个发行版和不同的版本,直到它工作。
干杯,
亚历克斯

相关问题