Hadoop 搭建过程中最常遇到的问题就是权限问题.由于权限不足,会产生 Permission denied 等问题.对此解决方法有两个关键点:
1. Hadoop 运行中要能够运行 ssh localhost 成功才会创建虚拟服务器.首先确定在当前用户下能够运行此命令成功.
为了指令 ssh localhost 能自动登入,需要运行
ssh-keygen -t rsa
ssh-copy-id localhost
同时保证.ssh 文件夹下文件的权限满足
drwx------ 2 root root 4096 1月 28 23:03 ./
drwxr-xr-x 9 root root 4096 1月 28 23:03 ../
-rw------- 1 root root 394 1月 28 23:03 authorized_keys
-rw------- 1 root root 1679 1月 28 23:03 id_rsa
-rw-r--r-- 1 root root 394 1月 28 23:03 id_rsa.pub
-rw-r--r-- 1 root root 1776 1月 28 23:03 known_hosts
即.ssh目录权限是700, 两个dsa 和 rsa的 私钥权限是600,其余文件权限是644.
同时.ssh目录的上级目录也应有相应的权限,如755.
对于root 用户,运行ssh localhost 需要另外的设置,即/etc/ssh/sshd_config文件中PermitRootLogin后面改成 yes.
2.用root用户来执行sbin/start-dfs.sh等命令,这样就不会担心大多数的权限问题.
搭建环境的具体步骤可以参考Hadoop安装配置,同时注意很多问题可以通过查看 logs 下的文件来解决,logs文件夹一般在$HADOOP_HOME目录下.
网友评论