运行SparkStreaming的NetworkWordCount实例出错:Error connecting to localhost:9999 java.net.ConnectException:

运行SparkStreaming的NetworkWordCount实例出错:Error connecting to localhost:9999 java.net.ConnectException: Connection refused 解决办法

一、背景

首先按照Spark的官方文档来运行此实例,具体方法参见这里,当运行命令$ nc -lk 9999开启端口后,再运行命令$ ./bin/run-example streaming.NetworkWordCount localhost 9999,却出现错误“Error connecting to localhost:9999 java.net.ConnectException: Connection refused ”,也就是9999端口无法连接。

二、解决办法

(1)首先代码要没有问题,比如在定义SparkConf时要使用

val sparkConf = new SparkConf().setAppName("SparkStreamingExample").setMaster("local[2]")

,而不是

val sparkConf = new SparkConf().setAppName("SparkStreamingExample").setMaster("local")


(2)然后要保证先使用命令$ nc -lk 9999开启端口,然后再运行命令

/usr/local/spark/bin/spark-submit --class   "org.apache.spark.examples.streaming.NetworkWordCount" /usr/local/spark/mycode/streaming/target/scala-2.11/simple-project_2.11-1.0.jar localhost 9999

,命令的先后顺序不能错;
(3)如果代码没有问题,命令的先后顺序也没有错,但还是出现上述错误,则将开启端口的命令改为$ nc -l -p 9999后运行程序。
我使用方法(3)成功解决了此问题。

三、总结

由于9999端口无法连接,可以先使用命令$ netstat -ntpl | grep 9999来查看9999端口是否已经被监听了,我使用命令$ nc -lk 9999后端口9999未被监听,所以出现无法连接的错误,使用命令$ nc -l -p 9999后,9999端口已被监听,进而成功连接。

参考原文链接:https://www.cnblogs.com/sench/p/7908528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值