恶心的hadoop集群

具体配置:网上一堆,我说一下个人问题好了!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

假如配置错了

会出现

 ls: Call From slaver1/127.0.0.1 to master:9000 failed on connection exception: java.net.ConnectException: Connection refused; 
For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused     
相似的这样的错。
 
引用:http://blog.csdn.net/wqetfg/article/details/50715541
 
去除其hosts上的
localhost和

#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,才能解决

相关文章
相关标签/搜索