2015-06-08 132 views
3

在我的spark應用程序中,我正在閱讀kafka話題。這個主題有10個分區,所以我創建了10個接收器,每個接收器有一個線程。有了這樣的配置,我可以觀察到接收器的怪異行爲。 對於這些消費者中值速率是:Spark流+ kafka吞吐量

Receiver-0 node-1 10K 
Receiver-1 node-2 2.5K 
Receiver-2 node-3 2.5K 
Receiver-3 node-4 2.5K 
Receiver-4 node-5 2.5K 
Receiver-5 node-1 10K 
Receiver-6 node-2 2.6K 
Receiver-7 node-3 2.5K 
Receiver-8 node-4 2.5K 
Receiver-9 node-5 2.5K 

問題1:節點1正在接收儘可能多的消息作爲其他4一起。

問題2:應用程序沒有達到批處理性能限制(在17秒的中值時間內計算30秒批處理)。我希望它能夠消耗足夠的消息,使這至少25秒的計算時間。

我應該在哪裏尋找瓶頸?

要清楚的是,還有更多消息需要消耗。

@編輯:我只滯後於兩個分區,所以第一個問題就解決了。儘管如此,每秒讀取10k信息並不是很多。

回答