【问题标题】:Spark streaming program unable to connect to sink org.apache.SparkException : java.io.Exception:Error connecting to localhost:9999Spark流程序无法连接到接收器org.apache.SparkException:java.io.Exception:连接到localhost时出错:9999
【发布时间】: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


【解决方案1】:

仅作记录:

如果你指定了

sink.hostname=localhost

这将指示 Flume 绑定到 localhost。如果您想避免这种情况,您需要指定外部设备的 IP 地址,如果您想绑定到所有设备,则需要指定 0.0.0.0

【讨论】:

    猜你喜欢
    • 2020-03-13
    • 2020-04-04
    • 2014-12-01
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    相关资源
    最近更新 更多