You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Rahul Jain (Updated) (JIRA)" <ji...@apache.org> on 2011/11/15 01:08:52 UTC
[jira] [Updated] (HADOOP-7822) Hadoop startup script has a race
condition : this causes failures in datanodes status and stop commands
[ https://issues.apache.org/jira/browse/HADOOP-7822?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rahul Jain updated HADOOP-7822:
-------------------------------
Affects Version/s: 0.20.1
0.20.2
0.20.205.0
Our fix to get around the issues has been to add exclusion filter to 'rsync' under hadoop-daemon.sh script:
Original:
rsync -a -e ssh --delete --exclude=.svn --exclude='logs/*' --exclude='contrib/hod/logs/*' $HADOOP_MASTER/ "$HADOOP_HOME"
Updated with fix:
rsync -a -e ssh --delete --exclude='pids/*.pid' --exclude=.svn --exclude='logs/*' --exclude='contrib/hod/logs/*' $HADOOP_MASTER/ "$HADOOP_HOME"
> Hadoop startup script has a race condition : this causes failures in datanodes status and stop commands
> -------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-7822
> URL: https://issues.apache.org/jira/browse/HADOOP-7822
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 0.20.1, 0.20.2, 0.20.205.0
> Reporter: Rahul Jain
>
> The symptoms are the following:
> a) start-all.sh is able to start both hadoop dfs and map-reduce processes, assuming same grid nodes are used for dfs and map-reduce
> b) stop-all.sh stops map-reduce but fails to stop dfs processes (datanode tasks on grid nodes)
> Instead, the warning message 'no datanode to stop' is seen for all data nodes.
> c) The 'pid' files for datanode processes do not exist therefore the only way to stop datanode processes is to manually execute kill commands.
> The root cause of the issue appears to be in hadoop startup scripts. start-all.sh is really two parts:
> 1. start-dfs.sh : Start namenode and datanodes
> 2. start-mapred.sh: Jobtracker and task trackers.
> In this case, running start-dfs.sh did as expected and created the pid files for different datanodes. However, start-mapred.sh script did end up forcing another rsync from master to slaves, effectively wiping out the pid files stored under "pid" directory.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira