복붙노트

[HADOOP] sudo hadoop 대 su hadoop

HADOOP

sudo hadoop 대 su hadoop

아무도 이상한 환경 문제에 빠졌고 hadoop 명령을 호출 할 때 SUDO 대신 SU를 사용해야합니까?

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

환경에서는 실행 파일을 찾을 수 있습니다.

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

나는 그것이 환경 문제인지 궁금해했다. 그러나 이것은 나에게 어떤 암시도주지 않았다 :

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

해결법

  1. ==============================

    1.hadoop 명령을 따옴표로 묶으십시오.

    hadoop 명령을 따옴표로 묶으십시오.

    sudo -u hdfs hadoop fs -ls /

  2. from https://stackoverflow.com/questions/22298519/sudo-hadoop-vs-su-hadoop by cc-by-sa and MIT license