1. 程式人生 > >問題:Spark執行時0.0.0.0IP錯誤導致的connect failed

問題:Spark執行時0.0.0.0IP錯誤導致的connect failed

今天用了虛擬機器安裝了Spark的偽分散式模式,來體驗一下;遇到如下異常:

17/02/21 05:01:17 INFO executor.Executor: Fetching http://0.0.0.28:58292/jars/json-project_2.11-1.0.jar with timestamp 1487624474835
17/02/21 05:01:18 ERROR executor.Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.net.ConnectException: 無效的引數 (connect failed)
        at java.net
.PlainSocketImpl.socketConnect(Native Method) 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 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient
.openServer(HttpClient.java:527) at sun.net.www.http.HttpClient.<init>(HttpClient.java:211) at sun.net.www.http.HttpClient.New(HttpClient.java:308) at sun.net.www.http.HttpClient.New(HttpClient.java:326) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966) at org.apache.spark.util.Utils$.doFetchFile(Utils.scala:588) at org.apache.spark.util.Utils$.fetchFile(Utils.scala:394) at org.apache.spark.executor.Executor$$anonfun$org$apache$spark$executor$Executor$$updateDependencies$5.apply(Executor.scala:405) at org.apache.spark.executor.Executor$$anonfun$org$apache$spark$executor$Executor$$updateDependencies$5.apply(Executor.scala:397) at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772) at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98) at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98) at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226) at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39) at scala.collection.mutable.HashMap.foreach(HashMap.scala:98) at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771) at org.apache.spark.executor.Executor.org$apache$spark$executor$Executor$$updateDependencies(Executor.scala:397) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:193) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 17/02/21 05:01:18 WARN scheduler.TaskSetManager: Lost task 0.0 in stage 0.0 (TID 0, localhost): java.net.ConnectException: 無效的引數 (connect failed) at java.net.PlainSocketImpl.socketConnect(Native Method) 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 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.net.NetworkClient.doConnect(NetworkClient.java:175) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.http.HttpClient.<init>(HttpClient.java:211) at sun.net.www.http.HttpClient.New(HttpClient.java:308) at sun.net.www.http.HttpClient.New(HttpClient.java:326) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1202) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1138) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966) at org.apache.spark.util.Utils$.doFetchFile(Utils.scala:588) at org.apache.spark.util.Utils$.fetchFile(Utils.scala:394) at org.apache.spark.executor.Executor$$anonfun$org$apache$spark$executor$Executor$$updateDependencies$5.apply(Executor.scala:405) at org.apache.spark.executor.Executor$$anonfun$org$apache$spark$executor$Executor$$updateDependencies$5.apply(Executor.scala:397) at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:772) at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98) at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:98) at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:226) at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39) at scala.collection.mutable.HashMap.foreach(HashMap.scala:98) at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:771) at org.apache.spark.executor.Executor.org$apache$spark$executor$Executor$$updateDependencies(Executor.scala:397) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:193) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

從上一句:

INFO executor.Executor: Fetching http://0.0.0.28:58292/jars/json-project_2.11-1.0.jar with timestamp 1487624474835

且報的異常資訊為:java.net.ConnectException: 無效的引數 (connect failed)
為什麼會訪問一個IP為0.0.0.28的IP呢?本機的IP字尾為192.168.1.28,Spark程式訪問本機的IP地址為什麼不用127.0.0.1、localhost,又或者是192.168.1.28?

度娘了一把0.0.0.28這樣的IP地址與127.0.0.1的區別;知道了0.0.0.0這樣的IP代表本機所有的IP,SocketServer為了使client端即可以使用127.0.0.1這樣的IP訪問,也可以使用localhost訪問。但Spark自己的client端發起訪問使用0.0.0.0這樣的IP,此處應該還可以再優化;

解決辦法:
在配置檔案spark-env.sh中新增配置:

export  SPARK_MASTER_IP=127.0.0.1
export  SPARK_LOCAL_IP=127.0.0.1

OK,再次重啟,解決!

此處記錄一下。如有其它解決方案或者該解決辦法無法解決該錯誤,或者本人解釋有問題的情況,請留言溝通、斧正。

相關推薦

問題Spark執行0.0.0.0IP錯誤導致connect failed

今天用了虛擬機器安裝了Spark的偽分散式模式,來體驗一下;遇到如下異常: 17/02/21 05:01:17 INFO executor.Executor: Fetching http://0.0.0.28:58292/jars/json-project

Spark入門(七)Spark執行架構

在一個 Spark 叢集中,有一個節點負責中央協調,排程各個分散式工作節點。這個中央協調節點被稱為驅動器(Driver)節點,與之對應的工作節點被稱為執行器(executor)節點。驅動器節點可以和大量的執行器節 點進行通訊,它們也都作為獨立的 Java

《CLR Via C#》讀書筆記24.執行序列化

一、什麼是執行時序列化 序列化的作用就是將物件圖(特定時間點的物件連線圖)轉換為位元組流,這樣這些物件圖就可以在檔案系統/網路進行傳輸。 二、序列化/反序列化快速入門 一般來說我們通過 FCL 提供的 BinaryFormatter 物件就可以將一個物件序列化為位元組流進行儲存,或者通過該 Format

JVMjvm執行資料區

1、程式計數器 程式計數器(Program Counter Register)是一塊較小的記憶體空間,它的作用可以看做是當前執行緒所執行的位元組碼的行號指示器。在虛擬機器的概念模型裡(僅是概念模型,各種虛擬機器可能會通過一些更高效的方式去實現),位元組碼直譯器工作時就是通過改變這個

大資料篇Spark 啟動,提示 slave1 JAVA_HOME not set

Problem: [[email protected] ~]# start-slaves.sh slave1: starting org.apache.spark.deploy.worker.Worker, logging to /usr/local/spark-1.6.

解決方案VS2017執行,控制檯一閃而過的問題

問題描述: 在VS2017新建C++的空專案,完成後執行C++程式時,控制檯的黑色輸出視窗總是一閃而過,導致輸出結果看不清。 解決方案: 1. 在C++專案處(示例為“LeetCode_1”),滑鼠右擊,彈出的選單中左擊選擇“屬性”。 2. 單擊 “屬性” 後,彈出以下對話

spark執行載入hive,hdfs配置檔案

  以前我用spark連線hive都是把hive的配置檔案放在spark的conf目錄,後來有個專案在執行時才能確定要連線哪個hive源,我就找了個能在執行時載入配置檔案的方法,程式碼如下: import org.apache.hadoop.conf.Configuration i

[Xcode10 實際操作]八、網路與多執行緒-(18)PerformSelector訊息處理方法執行系統,負責去呼叫物件的指定方法

本文將演示PerformSelector訊息處理方法。在專案資料夾上點選滑鼠右鍵彈出檔案選單。【New File】->【Swift File】->【Next】->【Save As】:iOSApp.swift->【Create】現在開始編寫程式碼,建立Swift類【iOSApp.swif

Spark 執行常見異常及資料傾斜的解決方法

spark執行異常: 現象1: 有時會出現的一種情況非常普遍,在spark的作業中;shuffle file not found。(spark作業中,非常非常常見的)而且,有的時候,它是偶爾才會出現的一種情況。有的時候,出現這種情況以後,會重新去

27課 SPARK 執行在yarn資源排程框架 client 、cluster方式 !!

分散式叢集 [email protected]:/usr/local/hadoop-2.6.0/etc/hadoop# vi /etc/hosts 127.0.0.1       localhost 192.168.189.1 master 192.168.189

katalon系列十六程式碼執行實時建立元素物件或列表

Katalon的常規方法是先抓取元素並儲存到倉庫,在指令碼中需要用到的時候調取,但假如元素屬性和個數是可變的,就不能事先儲存到倉庫了,需要在指令碼執行時實時建立。   程式碼執行時實時建立一個元素物件的例子import com.kms.katalon.core.testobject.Condit

spark執行的訊息通訊原始碼閱讀(二)

概要 (spark 版本為2.1.1) 應用程式(Application): 基於Spark的使用者程式,包含了一個Driver Program 和叢集中多個的Executor; 驅動程式(Driver Program):執行Application的main()函式並且建立Sp

iOS程式設計基礎-OC(九)-專家級技巧使用執行系統API

     第九章 專家級技巧:使用執行時系統API      第7章和第8章介紹了OC的動態特性和用於實現這些特性的執行時系統結構;      本章將通過幾個示例程式使你獲得使用執行時系統功能及其API的實踐經驗;         你將使用NSInvocati

解決spark執行Java heap space問題

問題描述: 在執行spark程式時,需要讀取200w資料作為快取。在利用.broadcast廣播這些資料時,遇到Exception in thread "main" java.lang.OutOfMemoryError: Java heap space問題。 報錯資訊如下:

【解決】Spark執行產生的臨時目錄的問題

[Author]:  kwu 今天,在執行spark-sql時,查詢資料量超過1.7億行,資料量大小38G,出現系統盤佔用突然變高的情況,監控如下: 檢查為 /tmp 目錄下,spark生成的臨時目錄佔用了大量的磁碟空間,生成的spark臨時檔案超過15G了。 解決

【計算機內功心法】八函式執行在記憶體中是什麼樣子?

在開始本篇的內容前,我們先來思考幾個問題。 我們先來看一段簡單的程式碼: void func(int a) {    if (a > 100000000) return; &nbs

使用tp5,執行碰到mkdir() Permission denied錯誤,給目錄所有許可權依舊出錯的

1.系統環境Centos7,apache 2.4.6 ,php 72.給/var/www/html目錄所有許可權還是出錯解決方法:找到/etc/selinux/config檔案,如果找得到的話修改SELINUX=enforcing為SELINUX=disabled   儲存後

適配android6.0執行許可權檢查機制

前言 清明放假終於結束了,趕緊寫點東西來脈動回來。這是一篇偏概念性的文章,文字偏多,所以別捉急,慢慢看。 現在高版本的android系統市場佔有率提升的非常快,這依賴於智慧手機越來越便宜,越來越普遍,新手機一般都會搭載高版本的android系統,來豐富使用者

Django專案執行出現self.status.split(' ',1)[0], self.bytes_sent,ConnectionAbortedError: [WinError 10053] 你的主機中的軟體中止了一個已建立的連線。

1 [02/Nov/2018 09:46:51] "GET /new_industry/category HTTP/1.1" 200 2891792 2 Traceback (most recent call last): 3 File "C:\Program Files\Python36\l

Android 6.0執行許可權勾選不再詢問後該如何處理?

Android 6.0執行時許可權勾選不再詢問後該如何處理? 當第一次請求許可權申請被拒絕後再進行第二次申請時,對話方塊中會多出一個 不再詢問 的複選框。如果勾選了該複選框並且拒絕請求,那麼以後將無法再申請該許可權。也就是說在呼叫 requestPermissions() 後,onRequest