Kafka Stream到Spark Stream python

时间:2018-10-09 06:15:34

标签: apache-spark pyspark spark-streaming spark-submit stream-processing

我们有使用Avro的Kafka流。我需要将其连接到Spark Stream。 我按照Lev G的建议使用波纹管代码。

kvs = KafkaUtils.createDirectStream(ssc, [topic], {"metadata.broker.list": brokers}, valueDecoder=MessageSerializer.decode_message) 

通过spark-submit执行时出现波纹管错误。

  

2018-10-09 10:49:27 WARN YarnSchedulerBackend $ YarnSchedulerEndpoint:66-由于容器标记为失败的原因,请求驱动程序删除执行程序12:主机_1 server396名上的container_1537396420651_0008_01_000013。退出状态:1.诊断:[2018-10-09 10:49:25.810]容器启动时发生异常。   容器编号:container_1537396420651_0008_01_000013   退出代码:1

     

[2018-10-09 10:49:25.810]

     

[2018-10-09 10:49:25.811]容器退出,退出代码为非零1.错误文件:prelaunch.err。   prelaunch.err的最后4096个字节:

     

最后4096个字节的stderr:

     

Java HotSpot(TM)64位服务器VM警告:INFO:os :: commit_memory(0x00000000d5580000,702545920,0)失败; error ='无法分配内存'(errno = 12)

     

[2018-10-09 10:49:25.822]

     

[2018-10-09 10:49:25.822]容器退出,退出代码为非零1.错误文件:prelaunch.err。

     

最后4096个字节的prelaunch.err:   stderr的最后4096个字节:

     

Java HotSpot(TM)64位服务器VM警告:INFO:os :: commit_memory(0x00000000d5580000,702545920,0)失败; error ='无法分配内存'(errno = 12)

我使用了波纹管命令。

spark-submit --master yarn --py-files ${BIG_DATA_LIBS}v3io-py.zip --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.2.0 --jars ${BIG_DATA_LIBS}v3io-hcfs_2.11.jar,${BIG_DATA_LIBS}v3io-spark2-object-dataframe_2.11.jar,${BIG_DATA_LIBS}v3io-spark2-streaming_2.11.jar ${APP_PATH}/${SCRIPT_PATH}/kafka_to_spark_stream.py

所有变量均正确导出。这是什么错误?

1 个答案:

答案 0 :(得分:1)

可能是您没有在驱动程序/执行程序上分配足够的内存来处理流吗?