2015-11-05 91 views
-1

爲什麼與一個工作節點和四個執行人火花,每一個核可以無法處理定製接收機 ??火花流:執行自定義VS接收機的數目

哪些經由定製接收器不處理輸入的數據,如果執行程序具有在火花流的單核的原因嗎?

我在單機模式下運行的火花。我在星火流應用越來越定製接收器的數據。我的筆記本電腦有4個內核。

主= 「火花:// lappi:7077」

$ spark_path/bin中/火花提交--executor型磁芯1 --total執行人-鐵芯4 \ --class「my.class .path.App「\ --master $ master

+0

的問題是不夠清楚,請分享確切的代碼,用來運行它,並記錄方法。 – scrapcodes

回答

2

您指出您的(1)執行程序應該爲Spark預留1個內核,這意味着您使用了4個內核中的1個。參數total-executor-cores永遠不會受到限制,因爲它限制了爲Spark預留的集羣上的核心總數,即按照您以前的設置1進行設置。

Receiver消耗一個線程用於從您的可用數據中消耗數據,意味着你沒有核心來處理數據。所有這一切都在doc解釋: https://spark.apache.org/docs/latest/streaming-programming-guide.html#input-dstreams-and-receivers

你想碰到的是executor-cores參數爲4

+0

如果我指定了** $ spark_path/bin/spark-submit --executor-cores 4 --total-executor-cores 4 **,那麼spark會創建所有4個內核的單個執行程序。這意味着,在這種情況下,也將火花無法處理的4點自定義的接收器輸入的數據流。 – purplebee

+0

爲什麼地啊,你將有4個定製接收器?每個DStream只有一個接收器,而不是每個核心的一個接收器。 – huitseeker

+0

我遵照你的指示。 – purplebee