簡體   English   中英

Spark Streaming:執行器與自定義接收器的數量

[英]Spark Streaming : number of executor vs Custom Receiver

為什么 Spark 有一個 worker 節點和四個 executor,每個都有一個 core 不能處理Custom Receiver ??

如果執行程序在 Spark Streaming 中只有一個核心,那么不通過自定義接收器處理傳入數據的原因是什么?

我在獨立模式下運行 Spark。 我正在Spark Streaming應用程序的自定義接收器中獲取數據。 我的筆記本電腦有 4 個內核。

master="spark://lappi:7077"

$spark_path/bin/spark-submit --executor-cores 1 --total-executor-cores 4 \\ --class "my.class.path.App" \\ --master $master

您指出您的 (1) 執行器應該為 Spark 保留 1 個核心,這意味着您使用了 4 個核心中的 1 個。 參數total-executor-cores永遠不會受到限制,因為它限制了集群上為 Spark 保留的內核總數,根據您之前的設置,它是 1。

接收器消耗一個線程來消耗可用線程中的數據,這意味着您沒有剩余的內核來處理數據。 所有這些都在文檔中進行了解釋: https : //spark.apache.org/docs/latest/streaming-programming-guide.html#input-dstreams-and-receivers

您想將該executor-cores參數提高到 4。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM