Hadoop环境搭建

我的搭建过程基本上参考了如下几篇文章

http://blog.csdn.net/p_3er/article/details/9100639

http://www.cnblogs.com/zhengyuhong/p/3388474.html


这样的搭建过程网上已经很多啦,我只说说我中间也遇到一些问题

一直ssh localhost不成功

namenode和datanode启动不成功,执行stop-all.sh时,提示no namenode to stop


可以尝试如下方式:

1.如果一直ssh localhost不成功,试试

chmod 644 authorized_keys


2.按照第一篇文章,搭建伪分布式的时候,namenode总是启动不了,即用JPS命令查看没有namenode


于是我反复的去看core-site.xml,hdfs-site.xml和mapred.xml,最后发现hdfs-site.xml是这样的


  1. <configuration>  
  2.     <property>  
  3.         <name>dfs.replication</name>  
  4.         <value>1</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>dfs.name.dir</name>  
  8.         <value>/usr/local/hadoop/hdfs/name</value>  
  9.     </property>  
  10.     <property>  
  11.         <name>dfs.name.dir</name>  
  12.         <value>/usr/local/hadoop/hdfs/data</value>  
  13.     </property>  
  14. </configuration>  
竟然写了两个dfs.name.dir,所以就改为dfs.data.dir,这时发现datanode也没启动 了

Hadoop环境搭建_第1张图片

所以我就将hdfs-site.xml中的dfs.name.dir和dfs.data.dir给注释掉了

再次运行start-all.sh

这次正常了,看了上面的第二篇博文,也没有配置这两个选项,不知到在伪分布式环境下没有这两个选项会不会有问题。


3.Name node is in safe mode.我这里遇到这个问题是因为刚刚执行啦start-all.sh,等了一会就好了


4.向hdfs集群中写入文件时,汇出现permission denied 或者是权限不足的异常,遇到这个情况,向hdfs-site.xml中加入如下属性:

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

如果使用hdfs的api,需要指定hdfs的网络地址,如:hdfs://localhost:9000/test3,否则操作的就是本地的文件系统,也会出现权限不足的异常。

你可能感兴趣的:(Hadoop环境搭建)