hbase避坑:Hadoop 的 NameNode 找不到指定的存储目录

由于把 HBase/Hadoop 移到了 F 盘 ------ 而 Hadoop 的配置文件里还残留着旧的 C 盘路径,导致启动时仍去 C 盘找目录,而非实际的 F 盘路径。修正配置并完成 HDFS 格式化(必须步骤),解决这个目录不一致的问题。

一、错误原因分析

配置文件路径未更新:Hadoop 的hdfs-site.xml中配置的dfs.namenode.name.dir(NameNode 存储目录)、dfs.datanode.data.dir(DataNode 存储目录)还是旧的 C 盘路径,未同步到 F 盘;

未格式化 HDFS:即使改了配置,新的存储目录也需要先执行hdfs namenode -format格式化,否则 NameNode 无法识别新目录。

二、分步解决方法

步骤 1:修改 Hadoop 核心配置文件(更新路径到 F 盘)

打开F:\hbase\hadoop\etc\hadoop目录下的 2 个关键配置文件,修正路径:

  1. 修改core-site.xml(确认默认文件系统路径)
    确保fs.defaultFS是本地localhost,无路径错误:
    xml
    fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir F:/hbase/hadoop/tmp
  2. 修改hdfs-site.xml(核心:更新存储目录到 F 盘) 重点修正 NameNode 和 DataNode 的存储路径,替换旧的 C 盘路径: xml dfs.namenode.name.dir F:/hbase/hadoop/data/dfs/namenode dfs.datanode.data.dir F:/hbase/hadoop/data/dfs/datanode dfs.replication 1 dfs.permissions.enabled false 步骤 2:手动创建配置中指定的目录 Hadoop 不会自动创建存储目录,需手动新建以下文件夹(按配置路径): F:\hbase\hadoop\tmp F:\hbase\hadoop\data\dfs\namenode F:\hbase\hadoop\data\dfs\datanode 步骤 3:格式化 HDFS(关键!必须执行) 新目录创建后,需格式化 NameNode(仅第一次执行,重复执行会清空数据): 以管理员身份打开 CMD,进入 Hadoop 的 bin 目录: cmd cd F:\hbase\hadoop\bin 执行格式化命令: cmd hdfs.cmd namenode -format 执行成功的标志:最后输出Exiting with status 0(而非 1); 若提示Permission denied,确认是管理员 CMD,且目录有读写权限。 步骤 4:重新启动 HDFS 格式化完成后,按之前的方法启动 HDFS(手动启动更稳妥): 启动 NameNode: cmd cd F:\hbase\hadoop\bin hadoop.cmd namenode 此时日志会显示加载 F 盘目录,不再报错 "directory does not exist"。 新打开管理员 CMD,启动 DataNode: cmd cd F:\hbase\hadoop\bin hadoop.cmd datanode 步骤 5:验证 HDFS 启动成功 执行jps,能看到NameNode、DataNode进程,说明 HDFS 启动正常。 三、启动 HBase(此时路径一致,可正常启动) HDFS 启动成功后,进入 HBase 的 bin 目录执行: cmd cd F:\hbase\hbase\bin start-hbase.cmd 此时 HBase 会读取 F 盘的 HDFS 路径,不会再出现类加载或目录找不到的错误。 总结 核心原因:Hadoop 配置文件残留 C 盘旧路径,且新路径未格式化; 解决关键:① 修改core-site.xml/hdfs-site.xml为 F 盘路径;② 手动创建目录;③ 执行hdfs namenode -format格式化; 重要提醒:格式化仅第一次执行,若后续改路径需重新格式化(会清空数据)。
相关推荐
林的快手7 分钟前
MySQL
数据库·oracle
身如柳絮随风扬12 分钟前
MySQL 存储引擎深度解析:InnoDB vs MyISAM vs Memory,行锁实现与索引奥秘
数据库·mysql
KaMeidebaby21 分钟前
卡梅德生物技术快报|基因测序技术在 46,XY 性发育障碍变异筛查中的流程与数据分析
服务器·前端·数据库·人工智能·算法·数据挖掘·数据分析
AI周红伟29 分钟前
长鑫科技存储之王:存储三强对比:三星、SK海力士 vs 长鑫科技
数据库·人工智能·科技·react.js·架构·langchain
灰阳阳39 分钟前
MySQL-Innodb-表空间数据组织方式
数据库·mysql·innodb
计算机安禾1 小时前
【算法设计与分析】第29篇:启发式与元启发式搜索方法综述
java·数据库·算法
DIY源码阁1 小时前
JavaSwing学生选课系统 - MySQL版
java·数据库·mysql·eclipse
城管不管1 小时前
Agent——001
android·java·数据库·llm·prompt
AC赳赳老秦1 小时前
OpenClaw批量任务队列优化:解决任务堆积、执行缓慢、优先级混乱问题
java·大数据·数据库·c++·自动化·php·openclaw
J2虾虾1 小时前
Spring AI Alibaba - 工作流(Workflow)
数据库·人工智能·spring