0
我想實現在Namenode中運行的協調器服務。爲Hadoop實現協調器服務
因此,當地圖任務完成任務時,它會向namenode發送反饋,以通知「機器(x.x.x.x)已處理塊ID ...屬於文件...」。 Namenode會將這些信息保存在表格中(例如)。
我知道這種問題太籠統,但實際上現在我陷入了這個問題。
我可以在Hadoop中實現此功能嗎?我該怎麼做?任何人都可以給我理想或以前做過的類似任務嗎?
我想實現在Namenode中運行的協調器服務。爲Hadoop實現協調器服務
因此,當地圖任務完成任務時,它會向namenode發送反饋,以通知「機器(x.x.x.x)已處理塊ID ...屬於文件...」。 Namenode會將這些信息保存在表格中(例如)。
我知道這種問題太籠統,但實際上現在我陷入了這個問題。
我可以在Hadoop中實現此功能嗎?我該怎麼做?任何人都可以給我理想或以前做過的類似任務嗎?
您需要一個接收通知並將其存儲在某個位置(可能是其他服務或MQ)的服務,如果此服務在NameNode或集羣外部的服務器上運行,則無關緊要。只是說NameNode是集羣中最關鍵的一點,我真的不建議使用它來部署任何附加服務。
然後,您將需要覆蓋清理地圖任務完成後發送「地圖任務已完成」消息的方法。
或者您可以嘗試使用Hadoop ResourceManager API來查看是否存在您正在查找的信息,而只是輪詢該API而不是創建新的信息。
Namenode具有審覈日誌,記錄誰打開了哪個文件路徑。通過文件路徑,您可以知道塊ID。 – waltersu
我的目標是如何在地圖任務完成時實現從數據節點到名稱節點的反饋。可能嗎? – nd07
沒有。 HDFS是一個獨立的項目。你需要在你的地圖縮減工作中做到這一點。 – waltersu