Datanode decommisioning vs Write
I found a solution for this in cloudera.
Decommissioning applies only to HDFS DataNode, MapReduce TaskTracker, YARN NodeManager, and HBase RegionServer objects. If the host has other roles executed on it, these roles are stopped / killed.
http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cm_mc_decomm_host.html
source to share
As stated in the Hadoop wiki :
Hadoop offers a deactivation function to exit a set of existing data nodes. The nodes to be removed must be included in the exclusion file, and the name of the exclusion file must be specified as the dfs.hosts.exclude configuration parameter. This file should have been specified when namenode was started.
The exclude file property contains a file containing a list of hosts that are not allowed to connect to namenode.
When this happens I think I IOException
got it while processing the process before the decommissioned node.
source to share
After adding entries for the nodes you want to decommission. You need to run the namenode -refreshnodes command to start the actual decommissioning process. The actual decompression process is very slow. All current tasks, both reading and writing, will be performed normally. But all future writes are not allowed, but reads are allowed with the lowest priority. Meanwhile, all blocks are replicated to other nodes.
source to share