1、namenode主机本机ssh登录也要解决认证问题
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
还需要把文件传到datanode主机上,并保证两台主机使用同样的用户名和hadoop的目录结构
scp ~/.ssh/id_dsa.pub 192.168.12.102:/root/.ssh/namenode_192.168.12.100_pub ,
其中192.168.12.102是datanode的ip地址
2、namenode上执行hadoop fs -put conf input时,遇到safemode问题
解决方法:
第一种:修改dfs.safemode.threshold.pct为1,缺省是0.999,在conf/hdfs-site.xml中添加下面一个节点
<property>
<name>dfs.safemode.threshold.pct</name>
<value>1.0f</value>
<description>
Specifies the percentage of blocks that should satisfy
the minimal replication requirement defined by dfs.replication.min.
Values less than or equal to 0 mean not to start in safe mode.
Values greater than 1 will make safe mode permanent.
</description>
</property>
第二种:hadoop dfsadmin -safemode leave命令强制离开安全模式
3、namenode上执行hadoop fs -put conf input时,遇到could only be replicated to 0 nodes, instead of 1
hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop
.ipc.RemoteException: java.io.IOException: ... could only be replicated to 0 nodes, instead of 1 ...
解决方法:
(1)防火墙原因
(2)磁盘空间原因
df –ah #查看磁盘空间
如果是磁盘空间不够,则调整磁盘空间,推荐一个强大的分区工具GParted 。
(3)把datanode和namenode的hadoop.tmp.dir【在conf/core-site.xml中指定的路径清空,我设置的是/root/hadoop-1.0.1/tmp,start-all.sh时会建立】
然后执行执行hadoop namenode -format