博客
关于我
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/

    你可能感兴趣的文章
    PHP判断指定目录下是否存在文件
    查看>>
    php判断数组是否为空
    查看>>
    PHP判断数组是否有重复值、获取重复值
    查看>>
    springboot基于Web的社区留守儿童管理系统源码毕设+论文
    查看>>
    Springboot基于Redisson实现Redis分布式可重入锁【案例到源码分析】
    查看>>
    PHP利用正则表达式实现手机号码中间4位用星号(*)替换显示
    查看>>
    PHP加密与安全的最佳实践
    查看>>
    PHP加速器eaccelerator导致php-fpm进程卡死原因分析
    查看>>
    PHP区分 企业微信浏览器 | 普通微信浏览器 | 其他浏览器
    查看>>
    php原生代码怎么连表查询,PHP tp5中使用原生sql查询代码实例
    查看>>
    PHP去掉转义符
    查看>>
    php去除字符串开头或末尾的字符(例如逗号)
    查看>>
    php反射api
    查看>>
    PHP反射ReflectionClass、ReflectionMethod 入门教程
    查看>>
    PHP反射机制
    查看>>
    php取当天的最后一秒_Docker快速搭建PHP开发环境详细教程
    查看>>
    php取绝对值
    查看>>
    PHP变量内容的获取
    查看>>
    php各种常用的算法
    查看>>
    php各种缓存策略对比
    查看>>