我正在处理spark-kafka流代码,并且在主本地上工作正常,但在主纱线上工作不正常。这些组件在具有kerberos身份验证的Azure云上的HDF 3.1上运行。
我正在从spark-shell如下运行。
spark-shell --num-executors 4 --executor-cores 8 --queue queue_name --master yarn --executor-memory 2G --driver-memory 1G \ --conf“ spark.streaming.receiver.writeAheadLog.enable = true” \ --conf“ spark.driver.cores = 2” \ --files /home/user/keytab/user-copy-for-kafka.keytab#user-copy-for-kafka.keytab,/home/user/kafka_jaas.conf#kafka_jaas.conf \ --jars /home/user/jars/kafka-clients-1.0.0.jar,/home/user/jars/spark-sql-kafka-0-10_2.11-2.3.0.jar,/home/user/ jars / spark-streaming-kafka-0-10_2.11-2.3.0.jar \ --keytab /home/user/keytab/user.keytab \ -主要用户@ ORG.COM \ --conf“ spark.executor.extraJavaOptions = -Djava.security.auth.login.config =。/ kafka_jaas.conf -Djava.io.tmpdir = / tmp” \ --driver-java-options“ -Djava.security.auth.login.config =。/ kafka_jaas.conf -Djava.io.tmpdir = / tmp -Dlog4j.configuration = file:/// home / user / config / log4j .properties -Dlog_name = / home / user / logs / spark_shell_4.log“
导入org.apache.spark.SparkConf 导入org.apache.spark.sql.functions._ 导入org.apache.spark.sql.types。{StringType,StructField,StructType,TimestampType} 导入org.apache.spark.sql。{DataFrame,SparkSession}
//从卡夫卡读取数据:
val kafkaDatademostr = spark.readStream.format(“ kafka”)。option(“ kafka.bootstrap.servers”,“服务器名称:8002”)。option(“订阅”,“主题名称”).option (“ kafka.security.protocol”,“ SASL_PLAINTEXT”)。load
//写到控制台:
val runstream = kafkaDatademostr.writeStream.format(“ console”)。option(“ checkpointLocation”,“ / tmp / user / tmpdemostr8”)。start()
[阶段0:>(0 + 3)/ 3] 2019-06-25 13:20:35 INFO BlockManagerInfo:54-在
的内存中添加了broadcast_0_piece0[阶段0:==================>(1 + 2)/ 3] 2019-06-25 13:20:51 INFO TaskSetManager:54-在16700毫秒以下完成了阶段0.0(TID 2)中的任务1.0
[阶段0:======================================>(( 1)/ 3]
写入过程仅在此处挂起。
一切都在本地执行,但在纱线上运行不正常。我们怀疑这可能是Checkpoint param的问题,但是我找不到任何有用的解决方案,也没有张贴关于此问题的讨论。任何帮助都将受到高度赞赏。