運行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開啟端口,然后再運行命令./bin/run-example streaming.NetworkWordCount localhost 9999,命令的先后順序不能錯;
(3)如果代碼沒有問題,命令的先后順序也沒有錯,但還是出現上述錯誤,則將開啟端口的命令改為$ nc -l -p 9999后運行程序。
我使用方法(3)成功解決了此問題。

三、總結

由於9999端口無法連接,可以先使用命令$ netstat -ntpl | grep 9999來查看9999端口是否已經被監聽了,我使用命令$ nc -lk 9999后端口9999未被監聽,所以出現無法連接的錯誤,使用命令$ nc -l -p 9999后,9999端口已被監聽,進而成功連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM