我正在尝试将Spark与Kafka挂钩。以前,Spark工作正常但没有此功能。我将spark-streaming-kafka-spark-streaming-kafka-0-8-assembly
jar安装到我的jars文件夹中,现在当我尝试提交任务时,我得到了
INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s);
retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
当作业不断尝试连接时,作业会挂起。我有yarn-site.xml,它指定资源管理器的IP地址 - 它有
<property>
<name>yarn.resourcemanager.address.rm1</name>
<value>my.Server.Name:8032</value>
</property>
所以似乎地址被覆盖了 - 我不知道为什么或如何防止这种情况。
更新:如果我将jar移到Jar文件夹之外并用--jars包含它,我就不会挂起。但是,当我尝试创建直接的Kafka流时,我得到n error occurred while calling o28.createDirectStreamWithoutMessageHandler.
: java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce
。我不确定这是版本不匹配还是什么。
答案 0 :(得分:0)
我通过将jar升级到正确的版本 - 2.11 / 2.1.0来解决这个问题。您还需要将它放在Spark jars文件夹之外。