本文介绍在 Azure HDInsight 群集中使用 Apache Spark 组件时出现的问题的故障排除步骤和可能的解决方案。
Apache Spark 群集运行从 Apache Kafka 群集读取数据的 Spark 流式处理作业。 如果启用了 Kafka 流压缩,则 Spark 流式处理作业将会失败。 在这种情况下,由于出现错误,Spark 流式处理 Yarn 应用 application_1525986016285_0193 失败:
18/05/17 20:01:33 WARN YarnAllocator: Container marked as failed: container_e25_1525986016285_0193_01_000032 on host: wn87-Scaled.2ajnsmlgqdsutaqydyzfzii3le.cx.internal.chinacloudapp.cn. Exit status: 50. Diagnostics: Exception from container-launch.
Container id: container_e25_1525986016285_0193_01_000032
Exit code: 50
Stack trace: ExitCodeException exitCode=50:
at org.apache.hadoop.util.Shell.runCommand(Shell.java:944)
此错误可能是由于指定的 spark-streaming-kafka
jar 文件版本与正在运行的 Kafka 群集的版本不同而导致。
例如,如果运行的是 Kafka 群集版本 0.10.1,则以下命令会导致错误:
spark-submit \
--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.2.0
--conf spark.executor.instances=16 \
...
~/Kafka_Spark_SQL.py <bootstrap server details>
使用带 -packages
选项的 Spark-submit
命令,并确保 spark-streaming-kafka jar 文件的版本与正在运行的 kafka 群集的版本相同。
如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:
- 如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持” ,或打开“帮助 + 支持” 中心。