1.问题

执行start-dfs.sh后在进程中查看jps,发现NameNode启动,但DataNode没有

2.原因

在失败的.log文件中看到datanode的clusterID 和 namenode的clusterID 不一致

原因可能是多次Hadoop namenode -format导致clusterID不一致

3.解决方法

1)先去hadoop路径下的配置文件hdfs-site.xml可知dfs.namenode.name.dir的地址和dfs.datanode.data.dir的地址

默认:file://${hadoop.tmp.dir}/dfs/name、file://${hadoop.tmp.dir}/dfs/data

(/opt/module/hadoop-2.7.2/data/tmp/dfs/name、/opt/module/hadoop-2.7.2/data/tmp/dfs/data)

2)在.../name/current/VERSION 中获得clusterID

[root@hadoop201 current]# more VERSION
#Mon Sep :: CST
namespaceID=
clusterID=CID-98e754ef-ad92-49f8-88b2-6830888f2d48
cTime=
storageType=NAME_NODE
blockpoolID=BP--192.168.1.201-
layoutVersion=-

3)将clusterID修改到.../dfs/data/current/VERSION(所有启动不了DataNode的节点都要改)

[root@hadoop201 current]# vi VERSION
#Sun Sep :: CST
storageID=DS-330d79ed-7c1b-4d40-b151-81ffcadcf9f0
#clusterID=CID-ae479da3-0b1e-44b0-a383-029a213b3481
clusterID=CID-98e754ef-ad92-49f8-88b2-6830888f2d48
cTime=
datanodeUuid=67fcc2ae-1b74-46cd-90df-336a0b1950e6
storageType=DATA_NODE
layoutVersion=-

4)再次启动DataNode,成功启动

[root@hadoop201 hadoop-2.7.]# sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /opt/module/hadoop-2.7./logs/hadoop-root-datanode-hadoop201.com.out
[root@hadoop201 hadoop-2.7.]# jps
DataNode
QuorumPeerMain
NameNode
Jps

多次NameNode执行format后DataNode启动不了解决方案的更多相关文章

  1. 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案

    安装64位版Oracle11gR2后发现启动SQL Developer时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\product\11.2 ...

  2. 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案(原创) (2016-10-29 下午01:56)

    安装64位版Oracle11gR2后发现启动SQL Developer时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径"C:\app\用户名\product ...

  3. Linux随笔 - linux 多个会话同时执行命令后history记录不全的解决方案【转载】

    基本认识linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的. 问题场景 ...

  4. 【Linux】 多个会话同时执行命令后history记录不全的解决方案

    基本认识 linux默认配置是当打开一个shell终端后,执行的所有命令均不会写入到~/.bash_history文件中,只有当前用户退出后才会写入,这期间发生的所有命令其它终端是感知不到的. 问题场 ...

  5. 启动Hadoop时,DataNode启动后一会儿自动消失的解决方法

    查看slaver1/2的logs,发现 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for ...

  6. 解决hadoop启动后datanode无法启动问题

    hadoop部署完成后datanode无法启动问题解决 1.检查是否有遗留的hadoop进程还在运行,如果有的话,先stop-all.sh或kill杀掉: 2.在master节点上,删除/tmp/ha ...

  7. hadoop多次格式化后,导致datanode启动不了

    hadoop namenode -format多次格式化后,datanode启动不了 org.apache.hadoop.ipc.RemoteException(java.io.IOException ...

  8. datanode启动后,在web50070port发现不到datanode节点(能力工场)

    直接上问题:这两天为了试验,安装了两套集群: (1)32位hadoop1集群(5个节点); (2)64位hadoop2集群(6个节点) 两个集群中都遇到过这种问题:在namenode正常启动hadoo ...

  9. namenode和datanode启动失败

    1.namenode启动失败,查看错误原因,是无法格式化,再看日志,根据日志提示,清空对应的目录,即可解决这个问题. 2.datanode启动失败: Can't open /var/run/cloud ...

随机推荐

  1. python 创建实例对象

    实例化类其他编程语言中一般用关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调用方式. 以下使用类的名称 Employee 来实例化,并通过 __init__ 方法接收参数 ...

  2. 单元测试 Junit

  3. TensorFlow使用记录 (三): Learning Rate Scheduling

    file: tensorflow/python/training/learning_rate_decay.py 参考:tensorflow中常用学习率更新策略 神经网络中通过超参数 learning ...

  4. jQuery_插入操作

    jQuery的插入方法有很多,有内部插入,也有外部插入,每个插入方式里面还有很多种,本文一一介绍,注释在代码里,直接上代码: 代码: <!DOCTYPE html> <html> ...

  5. php的if函数

    条件语句用于基于不同条件执行不同的动作 PHP 条件语句 在您编写代码时,经常会希望为不同的决定执行不同的动作.您可以在代码中使用条件语句来实现这一点. 在 PHP 中,我们可以使用以下条件语句: i ...

  6. crm 项目的部署

    发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发使用WSGI协议(W ...

  7. idea 编译内存溢出

    idea.max.intellisense.filesize=9999 idea.max.content.load.filesize=99999 idea.cycle.buffer.size=disa ...

  8. 关于虚拟机中Linux系统无法上网之后的解决方案

    我刚刚安装好虚拟机上的Linux的时候,宿主机网络正常,但虚拟机中虽然显示网络连接正常,但无法上网,因此我打开了网络设置 这是默认设置,但上不了网,而按照网上的查找结果,选择NAT是没错的,但仅限于w ...

  9. LeetCode 56. 合并区间(Merge Intervals)

    题目描述 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 ...

  10. HearthBuddy炉石兄弟 Method 'CollectionDeckBoxVisual.IsValid' not found.

    [CollectionManagerScene_COLLECTION] An exception occurred when calling CacheCustomDecks: System.Miss ...