我有火花串流应用程序,它使用直接流式传输来听取KAFKA主题。
HashMap<String, String> kafkaParams = new HashMap<String, String>();
kafkaParams.put("metadata.broker.list", "broker1,broker2,broker3");
kafkaParams.put("auto.offset.reset", "largest");
HashSet<String> topicsSet = new HashSet<String>();
topicsSet.add("Topic1");
JavaPairInputDStream<String, String> messages = KafkaUtils.createDirectStream(
jssc,
String.class,
String.class,
StringDecoder.class,
StringDecoder.class,
kafkaParams,
topicsSet
);
我注意到当我停止/关闭kafka经纪人时,我的火花应用程序也会关闭。
这是火花执行脚本
spark-submit \
--master yarn-cluster \
--files /home/siddiquf/spark/log4j-spark.xml
--conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=log4j-spark.xml" \
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=log4j-spark.xml" \
--class com.abc.etl.common.DataProcessor \
myapp.jar
Spark作业成功提交,我可以跟踪应用程序驱动程序和worker / executor节点。
一切正常,但只关注kafka边界离线或重启我的纱线控制应用程序不应该关闭?
编辑:我已经为社区创建了Spark JIRA来响应。 https://issues.apache.org/jira/browse/SPARK-14737