Commissioning and Decommissioning Nodes in a Hadoop Cluster

Recommended by 106 users

Dec 14, 2013
Commissioning and Decommissioning Nodes in a Hadoop Cluster
Add to Bookmark Email this Post 21.1K    13

One of the most attractive features of Hadoop framework is its utilization of commodity hardware. However, this leads to frequent DataNode crashes in a Hadoop cluster. Another striking feature of Hadoop Framework is the ease of scale in accordance to the rapid growth in data volume. Because of these two reasons, one of the most common task of a Hadoop administrator is to commission (Add) and decommission (Remove) Data Nodes in a Hadoop Cluster.

Commissioning and Decommissioning Nodes in a Hadoop Cluster:

Decommissioning (Removing) Data Nodes in a Hadoop Cluster

Above diagram shows a step by step process to decommission a DataNode in the cluster.

The first task is to update the ‘exclude‘ files for both HDFS (hdfs-site.xml) and MapReduce (mapred-site.xml).

The ‘exclude’ file:

  • for jobtracker contains the list of hosts that should be excluded by the jobtracker. If the value is empty, no hosts are excluded.
  • for Namenode contains a list of hosts that are not permitted to connect to the Namenode.

Here is the sample configuration for the exclude file in hdfs-site.xml and mapred-site.xml:

hdfs-site.xml

<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/excludes</value>
<final>true</final>
</property>

mapred-site.xml

<property>
<name>mapred.hosts.exclude</name>
<value>/home/hadoop/excludes</value>
<final>true</final>
</property>

Note: The full pathname of the files must be specified.

Similarly, we have the ‘include’ files:

  • for jobtracker containing the list of nodes that may connect to the JobTracker. If the value is empty, all hosts are permitted.
  • for Namenode containing a list of hosts that are permitted to connect to the Namenode. If the value is empty, all hosts are permitted.

The ‘dfsadmin’ and ‘mradmin’ commands refresh the configuration with the changes to make them aware of the new node.

The ‘slaves’ file on master server contains the list of all data nodes. This must also be updated to ensure any issues in future hadoop daemon start/stop.

2July 2016_Correction-01

The important step in data node commission process is to run the Cluster Balancer.

>hadoop balancer -threshold 40

Balancer attempts to provide a balance to a certain threshold among data nodes by copying block data from older nodes to newly commissioned nodes.

So, this is how you can do – Commissioning and Decommissioning Nodes in a Hadoop Cluster.

Got a question for us? Please mention it in the comments section and we will get back to you.

Related Links:

5 Reasons to Learn Hadoop

Get Started with Big Data & Hadoop

Share on
Comments
13 Comments
  • dsv dinesh

    /home/hadoop/excludes – In this path is it EXCLUDES or EXCLUDE?

    • EdurekaSupport

      Hey Dinesh, thanks for checking out our blog.
      Well, dfs.hosts.exclude is just a property in hdfs-site.xml and mapred-site.xml. You can check the content of these files by going to the place where hadoop is installed and then you can check for these hdfs-site.xml and mapred-site.xml. These are configuration files so you will find these in etc folder of hadoop. Basically, the main attribute is dfs.hosts.exclude whose name is fixed and hadoop expects only “exclude” word here. And it’s value is the file which has the list. In our example our filename is excludes. It’s name can even be /home/hadoop/myCoolName and then in you will have to write
      dfs.hosts.exclude
      /home/hadoop/myCoolName
      true

      Hope this helps. Cheers!

      • dsv dinesh

        Thanks for reverting me back

  • Raj Kiran

    I got the enough information from your website.. But there is a mistake in the Flow Diagram of “Commissioning” .. In the 3rd block hadoop mraadmin -refreshNodes should come.. Please check and update so that everyone know the exact flow.

    • EdurekaSupport

      Thanks for taking the time out to go through our blog in detail. We are sorry you encountered an error. We have flagged this to the concerned folks and they are working on fixing it ASAP. Thanks again and do keep checking back in whenever you have the time.

  • Akshat

    Beautiful !! Thanks a ton !!

    • EdurekaSupport

      You are welcome Akshat!!

  • K Sandeep

    very good explanation..!

    • EdurekaSupport

      Thanks Sandeep. Feel free to check out our other posts as well.

  • Santosh

    Good blog

    • EdurekaSupport

      Thanks Santosh!

  • Bala Chandar

    Super Explanation.

    • EdurekaSupport

      Thanks Bala! Feel free to go through our other blog posts as well.