Spark Streaming Flume Integration

问题描述:

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

请按照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)