我试图在火花流中运行字数统计程序,但我得到低于错误 . 我正在使用nc -lk 9999
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark.streaming.StreamingContext._
import org.apache.spark.streaming.Seconds
object wordcount{
def main(args: Array[String]):Unit = {
val conf = new
SparkConf().setMaster("local[2]").setAppName("WordCount")
val ssc = new StreamingContext(conf, Seconds(5))
val lines = ssc.socketTextStream("localhost",9999)
val words = lines.flatMap(_.split(" "))
val pairs = words.map(word => (word, 1))
val wordcount = pairs.reduceByKey(_+_)
wordcount.print()
ssc.start()
ssc.awaitTermination()
WARN ReceiverSupervisorImpl:重启接收器延迟2000毫秒:连接到localhost时出错:9999 java.net.ConnectException:连接被拒绝:连接java.net.DualStackPlainSocketImpl.connect0(本地方法)java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl . java:79)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)的java.net.SocksSocketImpl.connect(PlainSocketImpl.java:172)java.net.Socket.connect(Socket.java:589)at java.net.Socket .connect(Socket.java:538)at java.net.Socket . (Socket.java:434)at java.net.Socket . (Socket.java:211)at org.apache.spark.streaming.dstream.SocketReceiver . 在org.apache.spark.streaming.dstream.SocketReceiver $$ anon $ 2.run(SocketI)接收(SocketInputDStream.scala:73) nputDStream.scala:59)
1 回答
我曾经遇到过这个问题 . 当您将spark连接到端口
999
netcat服务器但尚未启动它时,会发生此异常 . 因此,在将spark连接到端口999
之前,请确保netcat
正在运行 .你可以看看这个解决方案answer