2017-01-25 19 views

ответ

2

Метаданные в узле имени всегда обновляются службой namenode.

+0

Мой вопрос один раз. Узлы данных, получившие блоки данных этого блока, будут обновлены до узлов имен узлов или клиентов HDFS. –

+0

DataNode может получать только блок от клиента, потому что NameNode дал указание клиенту сделать это. Как только DataNode получит блок, он будет сообщать в NameNode через сообщение «blockReceived». Вы можете увидеть протокол [datanode protocol] (https://github.com/apache/hadoop/blob/master/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server /protocol/DatanodeProtocol.java) и [BlockManager] (https://github.com/apache/hadoop/blob/master/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ HDFS/сервер/blockmanagement/BlockManager.java) –