You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行start-dfs.cmd后NameNode与DataNode启动即终止的解决求助

解决Hadoop start-dfs.cmd启动后NameNode/DataNode窗口闪退问题

问题重现

执行命令:

C:\hadoop-3.3.6\sbin>.\start-dfs.cmd

启动后NameNode和DataNode命令提示符窗口立即关闭,错误日志核心报错:

java.io.IOException: All specified directories are not accessible or do not exist.

已尝试操作:安装新版Microsoft Visual C++、查找删除类似app/data/temp文件夹但未找到对应路径。

解决方案

1. 验证并修复HDFS目录配置与权限

  • 打开C:\hadoop-3.3.6\etc\hadoop\hdfs-site.xml,检查以下两个配置项的路径:
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///C:/hadoop-3.3.6/data/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///C:/hadoop-3.3.6/data/datanode</value>
    </property>
    
    确保路径为Windows兼容格式(使用正斜杠,或转义反斜杠\\),且前缀为file:///(三个斜杠)。
  • 手动创建上述配置中的namenode和datanode目录(比如在Hadoop根目录下新建data文件夹,再分别创建子目录)。
  • 右键目录→属性→安全→编辑,添加当前登录用户,勾选完全控制权限,点击确认保存。

2. 重新格式化NameNode

  • 打开命令提示符,切换到Hadoop bin目录:
    cd C:\hadoop-3.3.6\bin
    
  • 执行格式化命令:
    hdfs namenode -format
    
  • 等待格式化完成(日志显示successfully formatted即为成功),再回到sbin目录重新执行启动命令:
    C:\hadoop-3.3.6\sbin>.\start-dfs.cmd
    

3. 检查临时目录配置

  • 打开C:\hadoop-3.3.6\etc\hadoop\core-site.xml,确认hadoop.tmp.dir配置:
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:///C:/hadoop-3.3.6/tmp</value>
    </property>
    
  • 创建该tmp目录并赋予完全控制权限,之后重新格式化NameNode再启动服务。

4. 验证环境变量配置

  • 确认系统环境变量HADOOP_HOME指向C:\hadoop-3.3.6,且Path中已添加%HADOOP_HOME%\bin和%HADOOP_HOME%\sbin。
  • 确认JAVA_HOME指向JDK安装目录(必须是JDK,不能是JRE),比如C:\Program Files\Java\jdk1.8.0_301,且已添加到系统环境变量。

内容的提问来源于stack exchange,提问作者Shraddha Dhakad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 09:33:33