Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-16788

could only be written to 2 of the 3 required nodes for RS-3-2-1024k. There are 50 datanode(s) running and no node(s) are excluded in this operation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Not A Bug
    • 3.1.0
    • None
    • hdfs
    • None

    Description

       

      Configured Capacity: 3.02 PB
      Configured Remote Capacity: 0 B
      DFS Used: 1.39 PB (45.96%)
      Non DFS Used: 0 B
      DFS Remaining: 1.62 PB (53.67%)
      Block Pool Used: 1.39 PB (45.96%)
      DataNodes usages% (Min/Median/Max/stdDev): 8.20% / 32.44% / 98.85% / 37.30%
      Live Nodes 50 (Decommissioned: 0, In Maintenance: 0)
       

      I've been working hard in the background to balance the data,  

      but before I discp when

      hdfs balancer -Ddfs.datanode.balance.max.concurrent.moves=300 -Ddfs.balancer.moverThreads=1200 -Ddfs.datanode.balance.bandwidthPerSec=1073741824 -fs hdfs://yycluster06 -threshold 50
      
      hadoop distcp -Dmapreduce.task.timeout=600000 -skipcrccheck -update hdfs://01   hdfs://02xx
      
      syslog
       ...
      2022-09-30 14:22:50,724 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:22:58,389 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #3: failed, blk_-9223372036808890525_3095130 2022-09-30 14:22:58,389 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null 2022-09-30 14:23:21,547 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:23:29,319 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, blk_-9223372036808889612_3095200 2022-09-30 14:23:36,950 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:23:44,822 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, blk_-9223372036808888572_3095307 2022-09-30 14:23:44,837 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:23:52,306 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null 2022-09-30 14:23:52,321 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:23:59,822 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null 2022-09-30 14:23:59,836 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=3, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:23:59,836 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:24:07,302 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #3: failed, blk_-9223372036808887853_3095387 2022-09-30 14:24:07,303 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null 2022-09-30 14:24:07,317 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:24:15,383 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null 2022-09-30 14:24:15,395 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:24:22,795 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null 2022-09-30 14:24:22,812 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=3, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:24:22,812 WARN [main] org.apache.hadoop.hdfs.DFSOutputStream: Cannot allocate parity block(index=4, policy=RS-3-2-1024k). Not enough datanodes? Exclude nodes=[] 2022-09-30 14:24:31,352 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #3: failed, blk_-9223372036808887133_3095476 2022-09-30 14:24:31,352 INFO [main] org.apache.hadoop.hdfs.DFSOutputStream: replacing previously failed streamer #4: failed, block==null
      
      discp out
      .....
      Error: java.io.IOException: File copy failed:
      ....
       Caused by: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hive_warehouse/warehouse_old_snapshots/credit/.distcp.tmp.attempt_1663830633337_314191_m_000008_2 could only be written to 2 of the 3 required nodes for RS-3-2-1024k. There are 50 datanode(s) running and no node(s) are excluded in this operation.
              at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:2128)
              at org.apache.hadoop.hdfs.server.namenode.FSDirWriteFileOp.chooseTargetForNewBlock(FSDirWriteFileOp.java:286)
              at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2706)
              at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:875)
              at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:561)
              at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
              at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:524)
              at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1025)
              at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:876)
              at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:822)
              at java.security.AccessController.doPrivileged(Native Method)
              at javax.security.auth.Subject.doAs(Subject.java:422)
              at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
              at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2682)        at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1497)
              at org.apache.hadoop.ipc.Client.call(Client.java:1443)
              at org.apache.hadoop.ipc.Client.call(Client.java:1353)
              at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228)
              at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116)
              at com.sun.proxy.$Proxy13.addBlock(Unknown Source)
              at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:510)
              at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422)
              at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165)
              at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157)
              at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95)
              at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359)
              at com.sun.proxy.$Proxy14.addBlock(Unknown Source)
              at org.apache.hadoop.hdfs.DFSOutputStream.addBlock(DFSOutputStream.java:1078)
              at org.apache.hadoop.hdfs.DFSStripedOutputStream.allocateNewBlock(DFSStripedOutputStream.java:479)
              at org.apache.hadoop.hdfs.DFSStripedOutputStream.writeChunk(DFSStripedOutputStream.java:525)
              at org.apache.hadoop.fs.FSOutputSummer.writeChecksumChunks(FSOutputSummer.java:217)
              at org.apache.hadoop.fs.FSOutputSummer.write1(FSOutputSummer.java:125)
              at org.apache.hadoop.fs.FSOutputSummer.write(FSOutputSummer.java:111)
              at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:57)
              at java.io.DataOutputStream.write(DataOutputStream.java:107)
              at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122)
              at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.copyBytes(RetriableFileCopyCommand.java:290)
              at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.copyToFile(RetriableFileCopyCommand.java:193)
              at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.doCopy(RetriableFileCopyCommand.java:123)
              at org.apache.hadoop.tools.mapred.RetriableFileCopyCommand.doExecute(RetriableFileCopyCommand.java:99)
              at org.apache.hadoop.tools.util.RetriableCommand.execute(RetriableCommand.java:87) 

       

      The data is written to a full disk Datanode. Is there any way to avoid not writing data to a full disk Datanode during discp?

      Balancer data is very slow, which affects the progress of the work

      Attachments

        1. image-2022-09-30-14-14-29-963.png
          94 kB
          ruiliang
        2. image-2022-09-30-14-14-44-164.png
          94 kB
          ruiliang

        Activity

          People

            Unassigned Unassigned
            ruilaing ruiliang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: