具体配置:网上一堆,我说一下个人问题好了!html
“彻底” 分布式集群java
注意地方有三点:node
1.你的"master" dfs目录中的某个Id不一致,具体位置,有空我再找找。(通过我找了一下,忘了哪篇文章说过apache
跟${HADOOP_TMP}/dfs/name/current的VERSION有关,分布式
我查看了一下,正常的集群oop
master的VERSIONspa
cluster1的VERSION.net
cluster2的VERSION3d
对比一下后,发现只有clusterID是同样的。日志
我在dfs还在启动状态,再执行bin/hdfs namenode -format,发现
clusterID发生变化了,而集群下面的cluster的clusterID没有变化。
因此要更改nameNode的clusterID的话,记得要重启dfs,否则你本身玩泥巴。
)
(为何不一致,这得问你了,你“bin/hdfs namenode -format” 格式化时,看到是否覆盖.
Re-format filesystem in Storage Directory /tmp/hadoop-root/dfs/name ? (Y or N)
这样的字样,你又傻傻的敲了:Y,那ID就天然变化了。
)
我简单又粗暴的方法的,直接删掉hadoop中的数据。(反正我本身玩而已)
若是你的core-site.xml和hdfs-site.xml,没有配置数据目录路径的话,
数据都在/tmp/hadoop-root底下,本身看着办!
(若是要删的话,最好把连同的cluster“集群数据”一块儿删除,否则在http://master-node:50070/dfshealth.html#tab-datanode是没法看到集群的cluster的datanode)
而后,
再./sbin/start-dfs.sh ,若是能顺利启动的话,就在master,cluster分别 查看hdfs的的目录
bin/hdfs dfs -ls / (若是都没有问题的话。再去看http://master-node:50070/dfshealth.html#tab-datanode是没法看到集群的cluster的datanode)
2./etc/hosts
假如配置错了
会出现
#127.0.0.1 master-node
#::1 master-node
相似的。
特别注意你的master的hosts最好与你cluster同样!
其实看 格式化时的日志,都能知道集群子节点是否成功
bin/hdfs namenode -format
看这句SHUTDOWN_MSG: Shutting down NameNode at "你的masterIP"
3.你的虚拟机问题。若是你的cluster是clone “master的”,也许能集群起来的。
可是若是你的cluster是clone “cluster”,不知道你可否启动,反正我是集群不了的。(由于我有一个是clone “master” ,另外一个是clone "cluster",也不知道是否clone操做出问题,反正个人clone "cluster"死活集群不到,一气之下,删了clone "cluster",从新clone “master”, 而后,“就能够”)
至于网上的不少篇拼命让你“格式化namenode”的文章,只能说一句:我操。
(其实我是由于在看哪里都没有log相关信息,才搜索"hadoop2x Call From",然而
才看http://blog.csdn.net/wqetfg/article/details/50715541,才能解决
)