我正在学习Hadoop
和Spark
环境,并且我成功地安装了这两个环境。
但是,当我想进入HDFS管理(localhost:50070/explorer
)并且我想点击tmp
时,我遇到了这个问题:
Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":valentin:supergroup:drwx-wx-wx
我尝试使用以下命令更改权限:
hdfs dfs –chmod –R 755 /valentin
但我明白了:
–chmod: Unknown command
奇怪,因为我有:
valentin@hadoop:~/hadoop-2.9.0$ bin/hdfs dfs -ls /
18/02/06 11:55:38 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
drwx-wx-wx - valentin supergroup 0 2018-02-06 11:36 /tmp
你能帮我找到一个解决方案,以便将.txt文件上传到我的tmp目录吗?
我在.bashrc:
export HADOOP_HOME=/home/valentin/hadoop-2.9.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_HOME="/usr/lib/jvm/java-8-oracle"
答案 0 :(得分:1)
该错误来自Bash,而不是Hadoop CLI
你的连字符错了。您提供了–
,预计-
(是的,有差异)
当你从没有良好代码格式的随机网站上复制终端命令时,通常会发生这种情况。
如果你想设置/ tmp
,你给了错误的目录您可能还想了解hdfs网站中设置的"fs.permissions.umask-mode"
默认设置为022,但看起来你是011
tmp可以是全局RWX
hadoop dfs -chmod -R 1777 /tmp
一旦你完成所有工作,如果你想实际运行mapreduce和东西,你需要
hadoop fs -mkdir -p /user/valentin
hadoop fs -chmod -R 750 /user/valentin
hadoop fs -chown -R valentin /user/valentin