2013-09-28 75 views

回答

0

你可以通過自己的自定義插座溝通,並找到正在運行減速特定鍵的特定主機,您可以使用JobClient API用來查詢到作業服務器運行作業還原器列表。

要找到reducer主機,請通過作業分區程序(大多數情況下爲散列)運行密鑰,確定reducer任務編號(0到num redurs-1),然後找到reducer任務正在運行的機器從JOb跟蹤器通過JobClient API)。

有些事情考慮,但:

  • 發生什麼情況,如果你所有的減速不能並行運行的所有(除減速插槽更減速,或其他作業同時運行)?
  • 如果作業追蹤器安排兩個或多個減速器在同一任務節點上運行,您將如何分配端口號以確保它們都不試圖監聽相同的編號(我想您應該選擇一個基本端口號,比如說21000,然後每個reducer將會聽到一個號碼加上reducer number的端口)。如果該端口已被其他進程使用,會發生什麼情況?
+0

- >你的意思是說,使用JobClient API從reducers權利? –

+0

感謝您的回覆,但我有一個問題,我熟悉分區程序,因爲我的程序是自定義的,但是我不知道如何通過作業跟蹤程序獲取Reducer正在運行的機器! 所以請任何幫助,這將是如此讚賞。 –

+0

@JtheRocker - 是的。 –