2017-12-15 33 views
1

sqoop 명령을 다른 사용자로 실행하고 싶습니다. 내가 mapreduce.map.memory.mb 옵션을 설정하는 방법과 유사한 Sqoop을 명령에서이를 설정하는 방법이 있는지 궁금 해서요sqoop 명령에서 Hadoop 사용자 설정

export HADOOP_USER_NAME=desiredUser 

sqoop import \ 
-D mapreduce.map.memory.mb=4096 \ 
-D mapreduce.map.java.opts=-Xmx3200m \ 
--driver ...\ 
--connect ..\ 
--username .. 

:이 같은 Sqoop을 작업을 실행하기 전에 나는 HADOOP_USER_NAME 명령을 설정할 수 있습니다. 시도했지만

... 
-D HADOOP_USER_NAME=desiredUser 
... 

사용자를 변경하지 않았습니다. 답장을 보내 주셔서 감사합니다.

답변

0

-D을 (를) 사용하는 옵션이 없습니다. -D이 mapreduce 속성을 제공하는 데 사용되고 있습니다. 하지만 sudo 명령을 사용해보십시오. sudo Sqoop 명령 사용 sudo HADOOP_USER_NAME=desiredUser sqoop import <generic args>

0

다른 사용자에게 Su를 사용하여 Unix에서 간단하게 수행하고 sqoop 명령을 실행할 수 있습니다. 다음 예를 참조하십시오

su somebody << 'EOF'command1 -p 'parameter with “quotes" inline' EOF 

당신은 EOF 모드 사이 command2 -p 'parameter with "quotes" inline'으로 여러 명령을 실행할 수 있습니다.

는 일부 사용자에게 액세스 할 수있는 경우는 여러 가지 이유로 불행하게도 사용이

sudo -H -u otheruser bash -c 'echo "I am $USER, with uid $UID"' 


man sudo will be your guru to explore more options 
+0

을 sudoing 경우 내가 sudo를 사용하지 않도록 할 명령 Su - yourUser “sqoop command”

를 사용하십시오 Sqoop을 작업에 구체적으로 . 사용자가 Linux 옵션이 아닌 sqoop 인수로 변경할 수 있다면 정말 관심이 있습니다. –