2017-12-15 20 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

あなたは単にUnixでSuで他のユーザーにそれを行い、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引数として変更できる場合、私は本当に興味があります。 –