添加Kafka jar后,Spark无法连接到YARN资源管理器

时间:2017-04-03 20:34:49

标签: apache-spark apache-kafka yarn

我正在尝试将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。我不确定这是版本不匹配还是什么。

1 个答案:

答案 0 :(得分:0)

我通过将jar升级到正确的版本 - 2.11 / 2.1.0来解决这个问题。您还需要将它放在Spark jars文件夹之外。