博客
关于我
HDFS DataNode启动异常:/opt/jdk1.8.0_151/bin/java:权限不够
阅读量:714 次
发布时间:2019-03-21

本文共 680 字,大约阅读时间需要 2 分钟。

在我之前的文章中,我详细描述了如何在Hadoop环境中解决/opt 目录权限问题,导致DataNode和NodeManager无法启动的问题。由于时间和操作复杂性,这一问题一直未能彻底解决,但我最终找到了一个可行的解决方案。

当我尝试通过递归更改所有拥有的文件夹权限来修复问题时,反而导致许多相关项目的文件权限被更改。由于Hadoop和JDK依赖于特定的文件和目录权限,我意识到必须专注于修复与Java和Hadoop组件相关的特定权限,而不是全面递归修改所有文件夹。

首先,我决定彻底删除/opt/jdk1.8.0_151 目录,并重新解压,并确保此目录及其子目录的所有者和权限符合Hadoop的需要。这意味着:

  • 使用命令 rm -rf /opt/jdk1.8.0_151 或者手动删除目录。
  • 重新解压适当版本的JDK到 /opt 目录,确保解压过程正确。
  • 接下来,在重新解压并确保所有者是hdfs并设置适当的权限后,我再次启动DataNode。这一次,权限错误已经解决,每个步骤都不会报告权限不足的问题。

    此外,我注意到原始问题还涉及到Yarn组件的权限问题。这可能表明我之前的chmod命令影响到了其他关键目录。因此,在修复DataNode后,我必须确保所有相关组件(如Yarn)的权限也正确无误。

    通过这些步骤,Hadoop集群成功重新启动并运行,而不再报错。这提醒我在进行文件权限操作时需要精确,避免不必要的误改。

    总结来说,这次问题的关键在于确保与Hadoop和JDK相关的文件夹权限被正确地修复和重新设定,而不是试图通过广泛的递归chmod来解决。

    转载地址:http://zkkrz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现IIR 滤波器算法(附完整源码)
    查看>>
    Objective-C实现IIR数字滤波器(附完整源码)
    查看>>
    Objective-C实现insertion sort插入排序算法(附完整源码)
    查看>>
    Objective-C实现integer partition整数分区算法(附完整源码)
    查看>>
    Objective-C实现integerPartition整数划分算法(附完整源码)
    查看>>
    Objective-C实现interpolation search插值搜索算法(附完整源码)
    查看>>
    Objective-C实现Interpolation search插值查找算法(附完整源码)
    查看>>
    Objective-C实现intersection交集算法(附完整源码)
    查看>>
    Objective-C实现intro sort内省排序算法(附完整源码)
    查看>>
    Objective-C实现inverse matrix逆矩阵算法(附完整源码)
    查看>>
    Objective-C实现inversions倒置算法(附完整源码)
    查看>>
    Objective-C实现isalpha函数功能(附完整源码)
    查看>>
    Objective-C实现islower函数功能(附完整源码)
    查看>>
    Objective-C实现isPowerOfTwo算法(附完整源码)
    查看>>
    Objective-C实现isupper函数功能(附完整源码)
    查看>>
    Objective-C实现ItemCF算法(附完整源码)
    查看>>
    Objective-C实现ItemCF算法(附完整源码)
    查看>>
    Objective-C实现iterating through submasks遍历子掩码算法(附完整源码)
    查看>>
    Objective-C实现iterative merge sort迭代归并排序算法(附完整源码)
    查看>>
    Objective-C实现jaccard similarity相似度无平方因子数算法(附完整源码)
    查看>>