Spark Streaming Flume Integration

时间:2016-09-28 00:18:38

标签: apache-spark spark-streaming flume

在尝试了很多更改之后,我仍然遇到将Flume自定义接收器和Spark Stream绑定到同一端口的问题。我使用的是Flume 1.6.0和Spark 2.0.0。 使用Spark + flume Integrations指南我构建了.conf文件和spark .py文件。我首先启动了flume代理,但是当我尝试在同一个端口上使用Spark-streaming(读取)时,它表示无法绑定。我尝试过多个端口,据我所知,无法找到任何网络限制(完全特权)。我在同一台本地服务器上运行它们。 你们中的任何人都知道如何解决这个问题吗? 会感激任何帮助! 感谢

1 个答案:

答案 0 :(得分:0)

关注link,如果您仍然遇到问题,请分享您的配置文件和流媒体代码。

您的配置文件应如下所示。

 agent.sinks = spark
 agent.sinks.spark.type = org.apache.spark.streaming.flume.sink.SparkSink
 agent.sinks.spark.hostname = <hostname of the local machine>
 agent.sinks.spark.port = <port to listen on for connection from Spark>
 agent.sinks.spark.channel = memoryChannel

您的流媒体代码应如下所示

 from pyspark.streaming.flume import FlumeUtils
 addresses = [([sink machine hostname 1], [sink port 1]), ([sink machine hostname 2], [sink port 2])]
 flumeStream = FlumeUtils.createPollingStream(streamingContext, addresses)