Spark Streaming:连接被拒绝

Spark Streaming: connection refused

我有一个简单的 Spark Streaming 代码,我想试试:

import org.apache.spark.SparkConf
import org.apache.spark.streaming.{Seconds, StreamingContext}

object WordCountStreamingWithFlume {
  def main(args: Array[String]) {

    val ssc = new StreamingContext(new SparkConf().setMaster("local[2]").setAppName("socketstream"), Seconds(10))
    val hostname = "localhost"

    val mystreamRDD = ssc.socketTextStream(hostname, 7777)
    mystreamRDD.print()
    ssc.start()
    ssc.awaitTermination()
  }
}

我正在使用sbt编译打包。

在控制台中(我使用的是 Manjaro Linux),我 运行 这样做: cat file.txt | nc localhost 7777 将数据发送到我机器上的 7777 端口。

为了运行 编译好的 Spark Streaming 代码,我在 Intellij IDEA 中打开终端并执行以下操作:

spark-submit target/scala-2.11/simplesparkflumeexample_2.11-0.1.jar

但我收到以下错误:

WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
WARN Utils: Your hostname, ... resolves to a loopback address: 127.0.1.1; using <some_ip> instead (on interface enp2s0)
WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
WARN ReceiverSupervisorImpl: Restarting receiver with delay 2000 ms: Error connecting to localhost:7777
java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
...

我也试过:

首先查看sshd服务,是运行ning.

然后,检查7777端口,我不知道如何确认这一点。我执行的唯一一件事是打开两个控制台并使用 netcat 从一个控制台向另一个控制台发送数据。结果是成功的,因为我可以看到我在控制台中输入的数据出现在另一个控制台中。

有什么想法吗?

In a console (I'm using Manjaro Linux), I run this: cat file.txt | nc localhost 7777 to send data to the port 7777 in my machine.

而不是 运行 那样,当我 运行 这样做时它起作用了(添加 -l-p):

cat file.txt | nc -l localhost -p 7777