hadoop和druid与jackson库不兼容的问题

t8e9dugd  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(566)

我正在用hdp insight 2.4.1.1-3在azure集群上运行druid0.9.0。hadoop客户端是2.7.1。在无数次试图与Jackson解决问题之后,特别是:

Error: class com.fasterxml.jackson.datatype.guava.deser.HostAndPortDeserializer overrides final method deserialize.

我已经尝试了这里所有的解决方法
https://github.com/druid-io/druid/blob/master/docs/content/operations/other-hadoop.md
无济于事。
根据面临相同问题的另一个用户的建议,对jackson依赖项进行着色处理后,重新编译失败。
我试过的最后一个案例是添加

"mapreduce.job.user.classpath.first": "true"

我的索引任务的jobproperties属性,结果如下:

Diagnostics: Exception from container-launch.
Container id: container_e02_1461544451524_0047_05_000001
Exit code: 1
Stack trace: ExitCodeException exitCode=1:
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:576)
    at org.apache.hadoop.util.Shell.run(Shell.java:487)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:753)
    at org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.launchContainer(LinuxContainerExecutor.java:371)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:303)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Shell output: main : command provided 1
main : run as user is nobody
main : requested yarn user is druid

我们正在尝试运行索引作业。
任何帮助都将不胜感激。有人在同样的设置中取得过成功吗?

uajslkp6

uajslkp61#

现在发生的是 jackson-datatype-guava 有不同的次要版本 jackson-databind ; 可能Guava是新的。版本应该匹配,尽管有些组合可以工作;一个你没有的。可能发生的情况是 jackson-databind 具体方法如下 final ,但后来的版本放宽了限制。

相关问题