Ich wollte wissen, wer die Block-IDs für Blöcke in Hadoop entweder HDFS-Client oder Name Knoten erstellen wird. Bitte lassen Sie mich wissen.Wer erstellt die Block-IDs für Blöcke in Hadoop?
1
A
Antwort
1
Der NameNode weist die Block-ID zu und gibt sie dem Client. Der Client verwendet dann diese Block-ID, während er mit einem DataNode kommuniziert, um Daten in den Block zu schreiben.
Apache JIRA HDFS-4645 dokumentiert den aktuellen Entwurf für die Zuweisung von Block-IDs. Es verwendet eine monoton steigende ID ausgehend von einer bestimmten Konstante. Wenn Sie daran interessiert sind, den Code dafür zu sehen, lesen Sie die Klassen BlockIdManager und SequentialBlockIdGenerator in der Apache Hadoop Codebase.
Verwandte Themen
- 1. Wer hat UWSGI erstellt?
- 2. kann nicht erstellt Verzeichnis in hadoop
- 3. Wer baut die Berechtigungen für Kafka-Cluster
- 4. Wer ist für die Bereitstellung verantwortlich?
- 5. Wer hat die Autovervollständigung für linqpad gekauft?
- 6. Spiele: Wer ist verantwortlich für die Anzeige?
- 7. Passing Blöcke für Methoden
- 8. Wer validiert die Immobilie?
- 9. Wer dekodiert für URLencoding?
- 10. Wer erstellt das JSESSIONID-Cookie in Spring Security?
- 11. Wer verwaltet die Threads in Java?
- 12. Wer übernimmt die IErrorInfo?
- 13. Ordner nicht mit hadoop fs Erstellt -mkdir
- 14. Wie erstellt man die hadoop-0.21.0-core.jar mit dem Quellcode?
- 15. HBase auf Hadoop, Datenlokalität Tieftauchen
- 16. Hadoop-Multiple wird bereits erstellt Ausnahme
- 17. Um die Dateigröße in hadoop
- 18. Wer
- 19. Blöcke Beispiel in IOS5
- 20. Empfohlene Entwurfsmuster für asynchrone Blöcke?
- 21. Ändert der Splits wie FileSplit in Haddop die Blöcke?
- 22. MVVM - Wer ist verantwortlich für
- 23. Wer implementiert die OS-Schnittstelle in Java?
- 24. Verschlüsseln Sie Datei für Blöcke
- 25. glfw3 für code :: blöcke 16.01 in ubuntu
- 26. Doc-Blöcke für PHP generieren?
- 27. Journal für Blöcke in Windows (NTFS) ändern
- 28. Ausbeute in Sicht für mehrere Blöcke
- 29. pom.xml für Hadoop 2.6.0
- 30. Hadoop für JSON-Dateien
Bitte korrigieren Sie mich, wenn ich falsch liege. Nach meinem Verständnis wird Client die Datei in Blöcke aufteilen. Der Client fragt den Knoten Name ab, um die Verfügbarkeit von Datenknoten zu erhalten. Dann schreibt er diese Blöcke in Datenknoten. Sobald der Schreibvorgang abgeschlossen ist. Datenknoten stellen Blockinformationen für Name node bereit. Dann nur Meta-Daten für Meta-Daten des Namensknotens In diesem Prozess wird eine Block-ID generiert, da client die Blöcke tatsächlich aufteilt.Wie Name-Knoten Block-IDs für Blöcke zuweist, wenn der Name-Knoten nicht von Datenknoten aktualisiert wird . –
Es ist richtig, dass der Client entscheidet, wann ein neuer Block für die Datei zugewiesen werden muss, aber der NameNode ist immer der zentrale Punkt für die Zuweisung einer neuen Block-ID. Der Client führt einen RPC-Aufruf an den NameNode aus, um den Block zuzuweisen. Dann erzeugt der NameNode eine Block-ID, speichert sie in Metadaten und sendet diese Block-ID zurück an den Client. Dann verwendet der Client diese Block-ID bei der Kommunikation mit dem DataNode. –
Sie meinen, wenn der Client den Knoten Name fragt, um Datenknoten für einen Block zuzuweisen, sendet er eine Block-ID für diesen Block an den Client? –