hadoop集群运行jps命令以后Datanode节点未启动的解决办法

出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。

1:其实网上已经有解决办法了,这里自己脑补一下,也可以让别人看到我是怎么解决的。出现这个问题主要是和配置这个文件相关:core-site.xml;

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop-2.4.1/tmp</value>
</property>

主要和配置的这个/home/hadoop/hadoop-2.4.1/tmp的这个tmp目录里面的(这个tmp目录是自己起的,自己开心就好);

而网上是这样解决的:

打开hdfs-site.xml里配置的datanode和namenode对应的目录,分别打开current文件夹里的VERSION,可以看到clusterID项正如日志里记录的一样,确实不一致,修改datanode里VERSION文件的clusterID 与namenode里的一致,再重新启动dfs(执行start-dfs.sh)再执行jps命令可以看到datanode已正常启动。

我感觉这样不是很畅快解决问题,所以直接/home/hadoop/hadoop-2.4.1/tmp/dfs/data/current下面的VERSION删除了,然后再执行一下又重新执行了格式化命令(hdfs namenode -format),最后启动start-dfs.sh和start-yarn.sh就可以了;

2:启动start-dfs.sh和start-yarn.sh显示节点的类别:

1:HDFS的守护进程

    (1):主节点:Namenode、SecondaryNamenode

    (2):从节点:Datanode

2:YARN的守护进程

    (1):主节点:ResourceManager

    (2):从节点:NodeManager    

3:心灵鸡汤:

有时候,也许坚持下去也不会有所成就,但是放弃肯定是一无所有......致自己;

                            

                             

上一篇:搭建Thrift项目时遇到的UnsupportedClassVersionError问题


下一篇:Oracle行链接(Row chaining) 与行迁移(Row Migration)