1

When I run the command:

$ $HADOOP_INSTALL/etc/hadoop fs -mkdir /tmp 

it gives me the following error:

bash: /etc/hadoop-2.7.1/etc/hadoop: Is a directory

These are the contents of my .bashrc file:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then


    . /etc/bash_completion
  fi
fi
export PATH=$PATH:/usr/local/spark/spark-2.1.0-bin-hadoop2.7/bin
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
export HADOOP_INSTALL=/etc/hadoop-2.7.1
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/etc/hadoop-2.7.1/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/conf

export DERBY_HOME=/usr/local/derby
export PATH=$PATH:$DERBY_HOME/bin
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar
Arronical
  • 20,311

1 Answers1

1

The error is pretty clear, the file you're trying to run, /etc/hadoop-2.7.1/etc/hadoop is not an executable file, it is a directory. The error from bash is telling you that you can't execute a directory.

There is probably a file inside the /etc/hadoop-2.7.1 directory that you need to run instead, probably /etc/hadoop-2.7.1/bin/hadoop.

You could change your command to:

$ $HADOOP_INSTALL/bin/hadoop fs -mkdir /tmp
Arronical
  • 20,311
  • I am guessing the OP wants /etc/hadoop-2.7.1/bin/hadoop. – terdon Feb 16 '17 at 11:19
  • I was just scanning the docs to see where this would be, thanks @terdon – Arronical Feb 16 '17 at 11:20
  • I don't know either, I am just assuming because the OP shows that /etc/hadoop-2.7.1/bin/ in added to their $PATH. – terdon Feb 16 '17 at 11:21
  • If it's in their path they should be able to just use hadoop fs -mkdir /tmp I'm guessing. – Arronical Feb 16 '17 at 11:24
  • Yes,that issue got solved, Thanks @terdon But now when i use the command $HADOOP_INSTALL/bin/hadoop fs -mkdir /tmp it is giving me the error: mkdir: Call From Laddu/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused – user642283 Feb 16 '17 at 11:37
  • the command $HADOOP_INSTALL/bin/hadoop fs -mkdir /tmp gives the following error: mkdir: Call From Laddu/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused – user642283 Feb 16 '17 at 11:52
  • There is either nothing listening on port 9000 or your firewall is blocking that port. If you're using ufw the ufw status command will show which ports are allowed through the firewall. – Arronical Feb 16 '17 at 11:55