Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Not A Bug
-
3.1.0
-
None
-
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