Gibt es eine Möglichkeit, Sperre für ein Verzeichnis in HDFS zu erhalten? Hier ist, was ich zu tun versucht:Sperren eines Verzeichnisses in HDFS
habe ich ein Verzeichnis namens ../ latest/...
Jeden Tag Ich brauche frische Daten in dieses Verzeichnis hinzuzufügen, aber bevor ich kopiere neue Daten in hier Ich möchte eine Sperre erhalten, so dass niemand sie verwendet, während ich neue Daten hineinkopiere.
Gibt es eine Möglichkeit, dies in HDFS zu tun?
Richtig! Das Erstellen von Daten an einem "temp" -Standort und das Verschieben von Daten ist nicht kugelsicher, da ein Benutzer möglicherweise einen (langen) MR-Auftrag ausführt. Nicht sicher, wie eine einfache Sperre in ZooKeeper helfen würde. Es gibt keine Garantie, dass ein Benutzer zuerst eine Sperre erhält, bevor er einen MR-Job für meine Daten ausführt, oder? Fehle ich etwas? Irgendwie denke ich, dass das Schloss auf dem Namenode-Level sein muss. Bitte klären Sie den ZooKeeper-Ansatz. Vielen Dank. – DilTeam
Ja, du hast Recht. Der ZooKeeper-Ansatz geht davon aus, dass Sie darauf vertrauen, dass jeder ZK verwendet, um eine Sperre zu erhalten. Nichts hält einen Benutzer davon ab, dies zu ignorieren. Meiner Meinung nach müssen Sie einen nicht-technischen oder gestalterischen Ansatz zur Lösung Ihres Problems finden. –