在EMR客戶端模式以及集羣模式下,在紗線上Spark spark java自定義接收器問題。Spark Streaming JavaCustomReceiver
以下是問題所在。
當我們在EMR集羣(紗線)上運行SparkCustomReader的JavaCustomReceiver時,它會隨機地綁定一個執行程序的偵聽器。因此,我們所要做的就是將所有傳入流量轉移到隨機選擇的IP。
事情變得更糟,當執行者失敗時。重新啓動後,它會嘗試將偵聽器綁定到另一個執行器上,並再次隨機選擇。我們再次需要將傳入流量轉移到新選擇的節點。
我的問題是: 1.我們不能將偵聽器綁定在我們選擇的特定執行器上嗎? (修復偵聽器綁定的ip) 如果不是...... 2.有沒有我們可以通過它以編程方式知道在哪個執行器上重新啓動了偵聽器? (因爲它選擇隨機節點來啓動該接收器) 而最重要的是。 3.我們不能在驅動程序運行的節點上綁定偵聽器嗎? (客戶端模式下運行時)
FYI
我們已經嘗試過接收器的超類的preferredLocation,但我們並沒有運氣一樣。
任何幫助,這是高度讚賞。
我試過這個,但它無法幫助。暫時我只通過在本地模式下運行來解決問題,現在放棄了Cluter模式的想法。對於可伸縮性,我仍然需要解決問題中列出的問題。不管怎麼說,多謝拉。 – desaiankitb