0

我正进入(状态

线程“主”java.lang.NoClassDefFoundError 中的异常:com/linkedin/camus/etl/IEtlKey。

在运行命令时:

hadoop jar camus-etl-kafka-0.1.0-SNAPSHOT.jar 
com.linkedin.camus.etl.kafka.CamusJob -P camus.properties

我得到以下例外..

2016-04-27 11:34:04.622 java[13567:351959] Unable to load realm mapping info from SCDynamicStore
[NativeCodeLoader] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" java.lang.NoClassDefFoundError: com/linkedin/camus/etl/IEtlKey
    at com.linkedin.camus.etl.kafka.CamusJob.run(CamusJob.java:252)
    at com.linkedin.camus.etl.kafka.CamusJob.run(CamusJob.java:235)
    at com.linkedin.camus.etl.kafka.CamusJob.run(CamusJob.java:691)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
    at com.linkedin.camus.etl.kafka.CamusJob.main(CamusJob.java:646)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException: com.linkedin.camus.etl.IEtlKey

我已经包含camus-example-0.1.0-SNAPSHOT-shaded.jar在类路径中。

如果我遗漏了什么,请告诉我。

提前致谢

苏米亚吉特

4

1 回答 1

0

您应该尝试在此LinkedIn 的上一代 Kafka 到 HDFS 管道camus-api页面上包含您可以找到的内容,因为缺少的类包含在此包中,如您在此处看到的。

注意 Camus 可能需要的其他传递依赖。

此外,为了确保在使用hadoop jarfrom 命令行时可以在类路径中找到类,您可以添加libjars命令行选项,如Using the libjars option with Hadoop中所述:

$ export LIBJARS=/path/jar1,/path/jar2
$ hadoop jar my-example.jar com.example.MyTool -libjars ${LIBJARS} -mytoolopt value

知道加缪将被地精取代可能会很有用:

加缪正在被淘汰并被哥布林取代。对于那些使用或对 Camus 感兴趣的人,我们建议看看 Gobblin。

有关从 Camus 迁移到Gobblin的说明,请查看Camus Gobblin 迁移

于 2016-04-27T06:53:28.183 回答