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

    你可能感兴趣的文章
    Mysql中使用存储过程插入decimal和时间数据递增的模拟数据
    查看>>
    MySql中关于geometry类型的数据_空的时候如何插入处理_需用null_空字符串插入会报错_Cannot get geometry object from dat---MySql工作笔记003
    查看>>
    mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
    查看>>
    mysql中出现Unit mysql.service could not be found 的解决方法
    查看>>
    mysql中出现update-alternatives: 错误: 候选项路径 /etc/mysql/mysql.cnf 不存在 dpkg: 处理软件包 mysql-server-8.0的解决方法(全)
    查看>>
    Mysql中各类锁的机制图文详细解析(全)
    查看>>
    MySQL中地理位置数据扩展geometry的使用心得
    查看>>
    Mysql中存储引擎简介、修改、查询、选择
    查看>>
    Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
    查看>>
    mysql中实现rownum,对结果进行排序
    查看>>
    mysql中对于数据库的基本操作
    查看>>
    Mysql中常用函数的使用示例
    查看>>
    MySql中怎样使用case-when实现判断查询结果返回
    查看>>
    Mysql中怎样使用update更新某列的数据减去指定值
    查看>>
    Mysql中怎样设置指定ip远程访问连接
    查看>>
    mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
    查看>>
    Mysql中文乱码问题完美解决方案
    查看>>
    mysql中的 +号 和 CONCAT(str1,str2,...)
    查看>>
    Mysql中的 IFNULL 函数的详解
    查看>>
    mysql中的collate关键字是什么意思?
    查看>>