Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“需要”;runuser hdfs-s/bin/bash/bin/bash“;在Hadoop中_Hadoop_Mapreduce_Hdfs - Fatal编程技术网

“需要”;runuser hdfs-s/bin/bash/bin/bash“;在Hadoop中

“需要”;runuser hdfs-s/bin/bash/bin/bash“;在Hadoop中,hadoop,mapreduce,hdfs,Hadoop,Mapreduce,Hdfs,我是hadoop的新手,并遵循这一点在Fedora 20中安装了它。本文中有一个命令: runuser hdfs -s /bin/bash /bin/bash -c "hadoop fs -mkdir /user/<name>" 请让我知道此命令的确切用途/含义: runuser hdfs -s /bin/bash /bin/bash 这有点令人困惑,但让我试着详细说明一下该命令的作用: runuser hdfs -s /bin/bash /bin/bash -c "hadoop

我是hadoop的新手,并遵循这一点在Fedora 20中安装了它。本文中有一个命令:

runuser hdfs -s /bin/bash /bin/bash -c "hadoop fs -mkdir /user/<name>"
请让我知道此命令的确切用途/含义:

runuser hdfs -s /bin/bash /bin/bash

这有点令人困惑,但让我试着详细说明一下该命令的作用:

runuser hdfs -s /bin/bash /bin/bash -c "hadoop fs -mkdir /user/<name>"
切换到
hdfs
user(谁是hdfs的超级用户)并使用
bash
shell(
-s/bin/bash
)。命令(
/bin/bash-c“hadoop fs…”
)本身强制使用
/bin/bash
,并使用
-c
选项将命令作为字符串传递

替代方法

您也可以通过这样做来实现同样的目标:

su - hdfs -c "hadoop fs -mkdir /user/<name>"
su-hdfs-c“hadoop fs-mkdir/user/”
甚至这个(我一直在用):

sudo-uhdfs-hadoop-fs-mkdir/user/
runuser hdfs -s /bin/bash /bin/bash -c "hadoop fs -mkdir /user/<name>"
/bin/bash -c "hadoop fs -mkdir /user/<name>"
su - hdfs -c "hadoop fs -mkdir /user/<name>"
sudo -u hdfs hadoop fs -mkdir /user/<name>