Solução de erro de dados adicionais HDFS

Os dois principais erros foram relatados esta noite:

Primeiro

2022-10-25 21:37:11,901 WARN hdfs.DataStreamer: DataStreamer Exception
java.io.IOException: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try. (Nodes: current=[DatanodeInfoWithStorage[192.168.88.151:9866,DS-4b3969ed-e679-4990-8d2e-374f24c1955d,DISK]], original=[DatanodeInfoWithStorage[192.168.88.151:9866,DS-4b3969ed-e679-4990-8d2e-374f24c1955d,DISK]]). The current failed datanode replacement policy is DEFAULT, and a client may configure this via 'dfs.client.block.write.replace-datanode-on-failure.policy' in its configuration.
        at org.apache.hadoop.hdfs.DataStreamer.findNewDatanode(DataStreamer.java:1304)
        at org.apache.hadoop.hdfs.DataStreamer.addDatanode2ExistingPipeline(DataStreamer.java:1372)
        at org.apache.hadoop.hdfs.DataStreamer.handleDatanodeReplacement(DataStreamer.java:1598)
        at org.apache.hadoop.hdfs.DataStreamer.setupPipelineInternal(DataStreamer.java:1499)
        at org.apache.hadoop.hdfs.DataStreamer.setupPipelineForAppendOrRecovery(DataStreamer.java:1481)
        at org.apache.hadoop.hdfs.DataStreamer.run(DataStreamer.java:719)
appendToFile: Failed to replace a bad datanode on the existing pipeline due to no more good datanodes being available to try. (Nodes: current=[DatanodeInfoWithStorage[192.168.88.151:9866,DS-4b3969ed-e679-4990-8d2e-374f24c1955d,DISK]], original=[DatanodeInfoWithStorage[192.168.88.151:9866,DS-4b3969ed-e679-4990-8d2e-374f24c1955d,DISK]]). The current failed datanode replacement policy is DEFAULT, and a client may configure this via 'dfs.client.block.write.replace-datanode-on-failure.policy' in its configuration.

Eu posso entender isso depois de ler o artigo. Isso significa que não pode ser gravado; ou seja, se houver 3 datanodes em seu ambiente, o número de backups será definido como 3. Ao gravar, ele grava em 3 máquinas no pipeline. A política padrão replace-datanode-on-failure.policy é DEFAULT, se o datanode no sistema for maior ou igual a 3, ele encontrará outro datanode para copiar. No momento, existem apenas 3 máquinas, portanto, enquanto um datanode tiver um problema, ele não poderá gravar com sucesso.

Naquela época, liguei apenas uma máquina no cluster durante a operação e, em seguida, o datanode deveria ser o número no cluster, mas só tenho um, então relatei um erro. Então eu iniciei o Hadoop em todas as três máquinas e funcionou.

O método comum na Internet é modificar o arquivo hdfs-core.xml, da seguinte forma:

<property>
        <name>dfs.support.append</name>
        <value>true</value>
</property>

<property>
        <name>dfs.client.block.write.replace-datanode-on-failure.policy</name>
        <value>NEVER</value>
</property>
<property>
        <name>dfs.client.block.write.replace-datanode-on-failure.enable</name>
        <value>true</value>
</property>

A resposta ao nó na Internet é explicada desta forma. Acho que você pode prestar atenção nisso para o segundo e terceiro nós: dfs.client.block.write.replace-datanode-on-failure.policy, quando o padrão é 3 ou mais backups, é Tentará substituir o nó e tentar gravar no datanode. No caso de dois backups, o datanode não é substituído e a gravação é iniciada diretamente. Para um cluster de 3 datanodes, enquanto um nó não responder às gravações, haverá problemas, portanto, ele pode ser desativado.

o segundo

appendToFile: Failed to APPEND_FILE /2.txt for DFSClient_NONMAPREDUCE_505101511_1 on 192.168.88.151 because this file lease is currently owned by DFSClient_NONMAPREDUCE_-474039103_1 on 192.168.88.151
appendToFile: Failed to APPEND_FILE /2.txt for DFSClient_NONMAPREDUCE_814684116_1 on 192.168.88.151 because lease recovery is in progress. Try again later.

A segunda é que essas duas frases vão e voltam, mas vejo que são todas locações depois de ver porque, acho que deve ser um problema, essa deve ser a resposta do nó mencionada na Internet, vejo que possuído por DFSClient é mencionado após a primeira frase, Estima-se que eu abri apenas uma máquina, porque o último IP é a primeira máquina. Se todos abrirem, deve ser um problema de resposta do nó. Isso está de volta ao anterior, então vamos modificar o arquivo honestamente.

Acho que você gosta

Origin blog.csdn.net/weixin_47367099/article/details/127524320
Recomendado
Clasificación