本篇对hadoop的常见问题给出了解决方案,希望与hadoop的使用者共同分享。
1.Hadoop问题及解决
1.1.Warning: $HADOOP_HOME is deprecated.
Hadoop本身对HADOOP_HOME做了判断,具体在bin/hadoop和bin/hadoop-config.sh里。
[hadoop@hadoop-m01 hadoop]$ vi bin/hadoop-config.sh
... ...
if [ "$HADOOP_HOME_WARN_SUPPRESS" = "" ] && [ "$HADOOP_HOME" != "" ]; then
echo "Warning: \$HADOOP_HOME is deprecated." 1>&2
echo 1>&2
fi
... ...
解决方法:
1.注释掉hadoop-config.sh里的上面给出的这段if fi配置(不推荐)
2.在当前用户home/.bash_profile里增加一个环境变量
#修改环境变量
[hadoop@hadoop-m01 hadoop]$ vi /home/hadoop/.bashrc
# Solve "Warning: $ HADOOP_HOME is deprecated."
export HADOOP_HOME_WARN_SUPPRESS=1
#生效
[hadoop@hadoop-m01 hadoop]$ source /home/hadoop/.bashrc
1.2."main" java.io.IOException: Permission denied
d rwx r-xr-x
第1位表示文件类型;d是目录文件,l是链接文件,-是普通文件,p是管道。
第2-4位表示这个文件的属主拥有的权限;r是读,w是写,x是执行。
第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。
第8-10位表示其他用户所具有的权限。
#查看hadoop临时目录权限
[root@hadoop-m01 Desktop]# ll /home/hadoop/hadoop_home/
total 4
drwxr-xr-x. 3 hadoop hadoop 4096 Nov 15 06:24 var
#授权所有用户写权限
[root@hadoop-m01 Desktop]# chmoda+w /home/hadoop/hadoop_home/
[root@hadoop-m01 Desktop]# chmoda+w /home/hadoop/hadoop_home/var/
#查看hadoop临时目录权限是否修改
[root@hadoop-m01 Desktop]# ll /home/hadoop/
total 48
... ...
drwxrwxrwx. 3 hadoop hadoop 4096 Nov 14 06:48 hadoop_home
... ...
[root@hadoop-m01 Desktop]# ll /home/hadoop/hadoop_home/
total 4
drwxrwxrwx. 3 hadoop hadoop 4096 Nov 15 06:24 var