【发布时间】:2015-09-23 09:05:30
【问题描述】:
我是这个主题的新手,我使用基于推送的方法并且它有效,但不知何故,使用基于拉取的方法会引发接收器连接错误。也许我可能会遗漏一些东西。
Flume 配置详情如下
sink.type=org.apache.spark.streaming.flume.sink.SparkSink
sink.channel=memory
sink.hostname=localhost
sink.port=9999
建立连接的Spark程序sn-p如下
SparkConf conf = new SparkConf().setAppName("FlumeSparkIntegration");
JavaSparkContext jsc = new JavaSparkContext(conf);
JavaStreamingContext jstc = new JavaStreamingContext(jsc, new Duration(10*1000));
JavaReceiverInputDStream<SparkFlumeEvent> fStream = FlumeUtils.createPollingStream(jstc, "localhost",9999);
Flume 的类路径也有自定义的水槽水槽 jar 以及 scala lang jar。
有人可以提供见解吗?
【问题讨论】:
-
水槽启动了吗?它必须在单独的进程中运行
-
是的,我已将水槽作为一个单独的进程启动。是否需要任何相关日志?
-
水槽启动后,检查水槽日志以了解水槽是否已启动。您的错误表明端口 9999 未打开-假设水槽和火花流都在同一台机器上运行(即本地主机),这应该是您的指针。 Flume 在所有设备上打开端口,包括环回(localhost)
标签: java spark-streaming flume-ng