dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured

hadoop, hdfs

Solution

The name of the `masters` file is misleading. It should contain the address of the SecondaryNameNode and is read by the NameNode itself. DataNodes do not have anything to do with the `masters` file. You need to configure `fs.default.name` on `core-site.xml` configuration file.

The error you see is also misleading and points you to the wrong configuration parameter.

Problem

I was trying to configure hadoop with one name node and four data nodes. I was able to successfully configure the name node and job tracker on one machine and bring it up. But on my machine where the data node is to be configured I did the following: - I unzipped the `hadoop-2.0.0-cdh4.1.2.tar.gz` and `mr1-2.0.0-mr1-cdh4.1.2.tar.gz` into a folder and set up the configuration with master and slave. - In the `master` file I had set up the ip address of machine that was configured to be the name node. - In the slave machine I set up the ip address of my machine where I had unzipped the tar balls. When I try to start the data node with the command ``` hdfs datanode ``` I get this error: ``` java.io.IOException: Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured. ``` What do I need to do?

Original source