2017-06-20 120 views
1

我是一個新手,以星火流和我有一個關於同樣喜歡星火流執行流

  1. 難道一定需要一個以上的遺囑執行人或用一個我們可以做我們的工作
  2. 我有些疑惑使用createDirectStream這是接收機少的方法和批料的持續時間爲一分鐘從卡夫卡拉出數據,所以是我的數據被接收爲一個批量,然後在其它批量持續時間期間處理或者它被同時處理
  3. 如果同時處理然後是如何它保證我的處理是在持續時間分批完成
  4. 如何使用該Web界面來監控和調試

回答

0

我們需要總是不止一個執行人,或與一個我們可以做我們的工作

這取決於:)。如果你的流量進來的體積非常小,它很可能是一個機器代碼的負載而言足夠了。在容錯能力可能不是一個很好的主意,因爲一個單一的執行可能會崩潰,讓你的整個流故障的條款。

我從卡夫卡使用createDirectStream是 接收機少的方法和批料的持續時間爲一分鐘牽引的數據,因此是我的數據 接收到用於一個批次,然後加工期間的其他批次 持續時間或它被同時處理每分鐘一次

你的數據被讀取,處理,而且僅是整個工作完成後,將繼續到下一個。只要您的批處理時間少於一分鐘,就不會有問題。如果處理時間超過一分鐘,您將開始累積延遲。

如果它被同時處理,那麼如何確保我的 處理在批處理持續時間內完成?

只要您沒有將spark.streaming.concurrentJobs設置爲1以上,就會一次執行一個流圖。

如何使用該Web界面來監控和調試

這個問題通常是SO過於寬泛。我建議開始與獲取一旦你提交申請,並開始深入到每個細節批次,並從那裏繼續創建的流標籤。

+0

spark.streaming.concurrentJobs是由單一的執行者執行的作業的數量,所以你怎麼表現會受到影響,而且是推薦它是超過1 – JSR29

+0

你能提供瞭解Web UI的資源 – JSR29

+0

@ JSR29 concurrentJobs意味着您可以一次執行兩個作業(例如,如果其中一個作業拖延了一分多鐘,第二個作業仍會執行)。 –

0

要添加更多的監測

如何使用該Web界面來監控和調試

監測流標籤應用程序在localhost:4040,主要指標來尋找是處理時間調度延遲。看一看的官方文檔:http://spark.apache.org/docs/latest/streaming-programming-guide.html#monitoring-applications

批量持續時間爲一分鐘

批處理時間有點長,請嘗試用較低的值進行調整,以提高您的等待時間。 4秒可以是一個好的開始。

此外,在Graphite上監控這些指標並設置警報是個好主意。看看這個帖子https://stackoverflow.com/a/29983398/3535853

+0

如何比較使用較低或較高批處理持續時間的資源使用情況 – JSR29