Has anybody got into a strange environment issue and been forced to use SU rather than SUDO when calling hadoop commands?
sudo su -c 'hadoop fs -ls /' hdfs
Found 4 items drwxr-xr-x - hdfs hdfs 0 2014-02-11 12:33 /apps drwx------ - mapred hdfs 0 2014-03-10 10:25 /mapred drwxrwxrwx - hdfs hdfs 0 2014-03-10 10:26 /tmp drwxr-xr-x - hdfs hdfs 0 2014-02-11 12:34 /user
The environment allows finding of the executable:
sudo -u hdfs 'hadoop'
Usage: hadoop [--config confdir] COMMAND where COMMAND is one of: namenode -format format the DFS filesystem ... fs run a generic filesystem user client ... ... Most commands print help when invoked w/o parameters.
sudo -u hdfs 'hadoop fs -ls /'
sudo: hadoop fs -ls: command not found
I wondered if it was an environment issue, but this gave me no hints:
sudo su -c 'env' hdfs | sort >sudo_su.txt
sudo -u hdfs 'env' | sort >sudo.txt
diff sudo.txt sudo_su.txt
11a12 > PWD=/home/user 14c15,16 SHLVL=1 > SUDO_COMMAND=/bin/su -c env hdfs 20a23 > _=/usr/bin/env