hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Han Hui Wen (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HDFS-4198) the shell script error for Cygwin on windows7
Date Fri, 16 Nov 2012 10:28:12 GMT
Han Hui Wen  created HDFS-4198:
----------------------------------

             Summary: the shell script error for Cygwin on windows7
                 Key: HDFS-4198
                 URL: https://issues.apache.org/jira/browse/HDFS-4198
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: scripts
    Affects Versions: 2.0.2-alpha
         Environment: windows7 ,cygwin.
            Reporter: Han Hui Wen 
             Fix For: 2.0.3-alpha


run  /usr/local/hadoop-2.0.2-alpha/sbin/start-all.sh or  /usr/local/hadoop-2.0.2-alpha/sbin/start-dfs.sh
.

1. $HADOOP_PREFIX/bin/hdfs getconf -namenodes

--------------in hadoop-config
HADOOP_SLAVE_NAMES:
--------------in hadoop-config-------------
------in hadoop-condig.sh before cygpath
HADOOP_PREFIX:/usr/local/hadoop-2.0.2-alpha
HADOOP_LOG_DIR:/usr/local/hadoop-2.0.2-alpha/logs
JAVA_LIBRARY_PATH:
------in hadoop-condig.sh before cygpath--------------
cygpath: can't convert empty path
------in hadoop-condig.sh after cygpath
HADOOP_PREFIX:/usr/local/hadoop-2.0.2-alpha
HADOOP_LOG_DIR:/usr/local/hadoop-2.0.2-alpha/logs
JAVA_LIBRARY_PATH:
------in hadoop-condig.sh after cygpath--------------
JAVA_LIBRARY_PATH:/usr/local/hadoop-2.0.2-alpha/lib/native
------start to run it  in hdfs
localhost

henry@IBM-RR0A746AMG4 ~
$ $HADOOP_PREFIX/bin/hdfs getconf -namenodes
--------------in hadoop-config
HADOOP_SLAVE_NAMES:
--------------in hadoop-config-------------
cygpath: can't convert empty path
JAVA_LIBRARY_PATH:/usr/local/hadoop-2.0.2-alpha/lib/native
------start to run it  in hdfs
localhost


---> if we add log in hadoop-condig.sh .  NAMENODES=$($HADOOP_PREFIX/bin/hdfs getconf -namenodes)
in start-dfs.sh return strange value like above.

The return is not reliable ,so it can be store in file or pass through command parameters.

2. some directory needs not translate to Cygwin. here is some related error:

$ ./start-dfs.sh
HADOOP_LIBEXEC_DIR:/usr/local/hadoop-2.0.2-alpha/sbin/../libexec
after hdfs-config.sh
which: no hdfs in (./C:\cygwin\usr\local\hadoop-2.0.2-alpha/bin)
dirname: missing operand
Try `dirname --help' for more information.
which: no hdfs in (./C:\cygwin\usr\local\hadoop-2.0.2-alpha/bin)
NAMENODES:localhost
]tarting namenodes on [localhost
---------------------will run /usr/local/hadoop-2.0.2-alpha/sbin/slaves.sh
HADOOP_CONF_DIR:/usr/local/hadoop-2.0.2-alpha/etc/hadoop
HADOOP_PREFIX:C:\cygwin\usr\local\hadoop-2.0.2-alpha
NAMENODES:
para:--script /usr/local/hadoop-2.0.2-alpha/sbin/hdfs start namenode
---------------------will run /usr/local/hadoop-2.0.2-alpha/sbin/slaves.sh-----------------
--------------------in slaves.sh
HADOOP_SLAVE_NAMES:localhost
--------------------in slaves.sh-------------
SLAVE_NAMES:localhost
The slave:localhost
HADOOP_SSH_OPTS:
: hostname nor servname provided, or not known
---------------------will run /usr/local/hadoop-2.0.2-alpha/sbin/slaves.sh
HADOOP_CONF_DIR:/usr/local/hadoop-2.0.2-alpha/etc/hadoop
HADOOP_PREFIX:C:\cygwin\usr\local\hadoop-2.0.2-alpha
NAMENODES:
para:--script /usr/local/hadoop-2.0.2-alpha/sbin/hdfs start datanode
---------------------will run /usr/local/hadoop-2.0.2-alpha/sbin/slaves.sh-----------------
--------------------in slaves.sh
HADOOP_SLAVE_NAMES:
--------------------in slaves.sh-------------
SLAVE_FILE:/usr/local/hadoop-2.0.2-alpha/etc/hadoop/slaves
SLAVE_NAMES:localhost
The slave:localhost
HADOOP_SSH_OPTS:
localhost: bash: line 0: cd: C:cygwinusrlocalhadoop-2.0.2-alpha: No such file or directory
localhost: ------------in hadoop-daemon.sh
localhost: hadoopScript:/usr/local/hadoop-2.0.2-alpha/sbin/hdfs
localhost: ------------in hadoop-daemon.sh--------------
localhost: datanode running as process 6432. Stop it first.
]tarting secondary namenodes [0.0.0.0
---------------------will run /usr/local/hadoop-2.0.2-alpha/sbin/slaves.sh
HADOOP_CONF_DIR:/usr/local/hadoop-2.0.2-alpha/etc/hadoop
HADOOP_PREFIX:C:\cygwin\usr\local\hadoop-2.0.2-alpha
NAMENODES:
para:--script /usr/local/hadoop-2.0.2-alpha/sbin/hdfs start secondarynamenode
---------------------will run /usr/local/hadoop-2.0.2-alpha/sbin/slaves.sh-----------------
--------------------in slaves.sh
HADOOP_SLAVE_NAMES:0.0.0.0
--------------------in slaves.sh-------------
SLAVE_NAMES:0.0.0.0
The slave:0.0.0.0
HADOOP_SSH_OPTS:
: hostname nor servname provided, or not known
which: no hdfs in (./C:\cygwin\usr\local\hadoop-2.0.2-alpha/bin)
dirname: missing operand
Try `dirname --help' for more information.
which: no hdfs in (./C:\cygwin\usr\local\hadoop-2.0.2-alpha/bin)

--------------> solution:
Comment some translation in hadoop-config.sh.

#if $cygwin; then
  #HADOOP_PREFIX=`cygpath -w "$HADOOP_PREFIX"`
  #HADOOP_LOG_DIR=`cygpath -w "$HADOOP_LOG_DIR"`
  #JAVA_LIBRARY_PATH=`cygpath -w "$JAVA_LIBRARY_PATH"`
#fi

The best way is that just translate path before Java command running. 


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message