在虚拟机环境下,电脑间拷贝配置好的伪分布式Hadoop环境,出现namenode不能启动的问题!
原因:在原来的电脑上配置伪分布的时候,已经将hostname与IP绑定了,所以拷贝到别的电脑的时候,重新启动的时候就会失败,因为新的电脑的IP不见得就和原来的电脑的IP一样!因为在不同的网络中,在NAT模式下Linux的IP肯定是位于不同的网段的!!
解决方法:vi /etc/hosts 将原来的电脑的IP改成新的电脑的IP即可。
另外:重新格式化hadoop的时候,要把原来的hadoop下的tmp目录下的所有文件都删除掉,然后停止所有的进程,如datanode等。然后
利用hadoop namenode -format 格式化hdfs,即可成功!
重新利用start-all.sh,即可正常启动所有的节点!!
总结一下:namenode没修改成功的愿意如下:
1.没格式化
2.配置文件没有修改,主机名hostname没有改成自己的
3.hostname与ip没有绑定
4.ssh免密码登录没有成功
在移动后,需要重新生成ssh密钥ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
验证:ssh localhost
另外一个问题: hadoop fs -ls 不能使用的问题!!!!!!!!!!!!!!!
root@ubuntu:/usr/local# hadoop fs -ls
ls: Cannot access .: No such file or directory.
root@ubuntu:/usr/local# hadoop fs -ls / 加上当前目录就可以了。。
Found 2 items
drwxr-xr-x - root supergroup 0 2014-12-15 21:36 /input
drwxr-xr-x - root supergroup 0 2014-12-15 21:28 /usr