在sqoop命令中设置Hadoop用户

问题描述 投票:1回答:2

我想以另一个用户身份运行sqoop命令。我可以在运行sqoop作业之前设置HADOOP_USER_NAME命令,如下所示:

export HADOOP_USER_NAME=desiredUser

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

我想知道如果有一种方法在sqoop命令中设置它类似于我如何设置mapreduce.map.memory.mb选项。我试过了

...
-D HADOOP_USER_NAME=desiredUser
...

但它没有改变用户。谢谢你的回复

sqoop
2个回答
1
投票

对于用户来说,没有使用-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'运行多个命令。

要特定于您的sqoop作业,如果您有权访问某些用户,请使用命令Su - yourUser “sqoop command”

如果你是sudoing使用这个

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


man sudo will be your guru to explore more options 
© www.soinside.com 2019 - 2024. All rights reserved.