错误一
1 2
| hdfs dfs -mkdir -p /flume/mysql Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
|
执行命令的用户没有执行权限。直接给当前用户授权。(这种想法是不正确的,不要为了简化输入命令,就试图修改这些东西)正确的做法应该是。切换指定用户执行命令
1
| [root@cdh1 data]#sudo -u hdfs hadoop fs -mkdir /newFile
|
或者
1
| [root@cdh1 data]#sudo -u hdfs dfhs dfs -mkdir /newFile
|
更简单的是,先进入这个用户,su hdfs
错误二
1 2 3 4
| sudo -u hdfs hdfs dfs -mkdir -p /flume/mysql Error: JAVA_HOME is not set and could not be found. java -version java version "1.8.0_91"
|
确实已经设置了JAVA_HOME ,而且在linux shell 执行 echo $JAVA_HOME 也是有输出。
1 2 3 4 5 6 7 8 9
| find / -name cloudera-config.sh /*/*/*/cloudera-manager/cm-5.10.0/lib64/cmf/service/common/cloudera-config.sh local JAVA8_HOME_CANDIDATES=( '/usr/java/jdk1.8' '/usr/java/jre1.8' '/usr/lib/jvm/j2sdk1.8-oracle' '/usr/lib/jvm/j2sdk1.8-oracle/jre' '/usr/lib/jvm/java-8-oracle' )
|
解决办法:
建立一个已经有的JAVA_HOME 链接到 /usr/java/jdk1.8 就好了!
目标位置:/usr/java/jdk1.8
原文件:///jdk1.8.0_91
1 2 3
| ln -s 源文件 目标文件 ln -s /*/*/jdk1.8.0_91 /usr/java/jdk1.8 sudo -u hdfs hdfs dfs -mkdir -p /flume/mysql
|