hadoop分布式中某个 节点报错的解决案例

前言

在分布式节点中,发现有个节点显示不可用状态,因此需要紧急修复。

hadoop版本

目前这套集群hadoop的版本如下:

集群报错详细日志:

1/1 local-dirs are bad: /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas/nm-local-dir; 1/1 log-dirs are b 

报错分析

通过分析发现,应该是这个节点的磁盘空间满了。

这条错误信息指出 Hadoop 集群的 NodeManager 无法写入其配置的本地目录和日志目录。这通常发生在 Hadoop 集群启动时,NodeManager 尝试初始化时。错误的原因是指定的本地目录 (`local-dirs`) 和日志目录 (`log-dirs`) 不可用或不可写。

### 可能的原因包括:

1. **目录不存在**:配置的路径可能不存在。
2. **权限问题**:运行 Hadoop 的用户可能没有权限写入这些目录。
3. **磁盘空间不足**:指定的磁盘可能已满。
4. **SELinux 策略**:如果你的系统使用 SELinux,可能需要调整安全上下文。
5. **目录损坏**:文件系统损坏或目录结构损坏。

### 解决步骤:

1. **检查目录是否存在**:
   ```sh
   ls -ld /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas/nm-local-dir
   ls -ld /kkb/install/hadoop-2.6.0-cdh5.14.2/logs/userlogs
   ```

2. **创建缺失的目录**:
   如果目录不存在,你需要手动创建它们:
   ```sh
   mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas/nm-local-dir
   mkdir -p /kkb/install/hadoop-2.6.0-cdh5.14.2/logs/userlogs
   ```

3. **检查权限**:
   确保运行 Hadoop 的用户(例如 `hadoop` 用户)对这些目录具有写权限:
   ```sh
   chown -R hadoop:hadoop /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas/
   chown -R hadoop:hadoop /kkb/install/hadoop-2.6.0-cdh5.14.2/logs/
   ```

4. **检查磁盘空间**:
   使用 `df -h` 检查磁盘空间是否已满。

5. **调整 SELinux**:
   如果你的系统使用 SELinux,可能需要调整策略或更改目录的安全上下文:
   ```sh
   chcon -R -t hadoop_var_lib_t /kkb/install/hadoop-2.6.0-cdh5.14.2/hadoopDatas/tempDatas/
   chcon -R -t hadoop_log_t /kkb/install/hadoop-2.6.0-cdh5.14.2/logs/
   ```

6. **检查 Hadoop 配置**:
   确保 `hdfs-site.xml` 和 `core-site.xml` 中配置的本地目录和日志目录路径正确无误。

7. **格式化 NameNode(如果必要)**:
   如果 NameNode 损坏,可能需要格式化。但这将删除所有 HDFS 数据,因此只有在安全模式或测试环境中才考虑执行此操作。

8. **重启 Hadoop 服务**:
   在解决了目录问题后,尝试重启 Hadoop 服务,特别是 NodeManager。

9. **查看日志文件**:
   检查 Hadoop 的日志文件,特别是 `hadoop-*.log` 文件,以获取更多错误信息。

10. **联系管理员**:
    如果你没有足够的权限或不熟悉系统,联系系统管理员来帮助解决问题。

请在进行任何重要更改之前备份重要数据,并确保你具有足够的系统管理知识或获得专业帮助。
 

通过50070端口进去发现确实是因为节点01的空间即将耗尽。

相关推荐

  1. 部署hadoop大数据如何解决

    2024-07-11 17:18:02       35 阅读
  2. Ubunturosdep update解决办法

    2024-07-11 17:18:02       46 阅读
  3. hadoop运行jar遇到一个

    2024-07-11 17:18:02       54 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 17:18:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 17:18:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 17:18:02       58 阅读
  4. Python语言-面向对象

    2024-07-11 17:18:02       69 阅读

热门阅读

  1. tomcat

    tomcat

    2024-07-11 17:18:02      16 阅读
  2. 探索 GraphRAG:图结构与生成式模型的融合

    2024-07-11 17:18:02       23 阅读
  3. 全国青少年信息素养大赛:排序专项:奇偶排序

    2024-07-11 17:18:02       18 阅读
  4. 主题乐园用户增长分析专项报告

    2024-07-11 17:18:02       21 阅读
  5. 使用分布式锁解决淘客返利系统中的并发问题

    2024-07-11 17:18:02       25 阅读
  6. 数据分析主流的数据分析方法与框架使用

    2024-07-11 17:18:02       20 阅读
  7. 如何修改 grafana 密码,grafana忘了怎么办

    2024-07-11 17:18:02       23 阅读
  8. C语言旋转动画

    2024-07-11 17:18:02       22 阅读
  9. C++ 多态和虚函数

    2024-07-11 17:18:02       26 阅读
  10. Centos搭建FTP

    2024-07-11 17:18:02       22 阅读
  11. Vue在使用el-image时显示加载失败问题

    2024-07-11 17:18:02       19 阅读
  12. Dell IdracSCv2020服务器硬件监控指标解读

    2024-07-11 17:18:02       19 阅读