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

    你可能感兴趣的文章
    mysqldump 参数--lock-tables浅析
    查看>>
    mysqldump 导出中文乱码
    查看>>
    mysqldump 导出数据库中每张表的前n条
    查看>>
    mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
    查看>>
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    查看>>
    mysqldump备份时忽略某些表
    查看>>
    mysqldump实现数据备份及灾难恢复
    查看>>
    mysqldump数据库备份无法进行操作只能查询 --single-transaction
    查看>>
    mysqldump的一些用法
    查看>>
    mysqli
    查看>>
    MySQLIntegrityConstraintViolationException异常处理
    查看>>
    mysqlreport分析工具详解
    查看>>
    MySQLSyntaxErrorException: Unknown error 1146和SQLSyntaxErrorException: Unknown error 1146
    查看>>
    Mysql_Postgresql中_geometry数据操作_st_astext_GeomFromEWKT函数_在java中转换geometry的16进制数据---PostgreSQL工作笔记007
    查看>>
    mysql_real_connect 参数注意
    查看>>
    mysql_secure_installation初始化数据库报Access denied
    查看>>
    MySQL_西安11月销售昨日未上架的产品_20161212
    查看>>
    Mysql——深入浅出InnoDB底层原理
    查看>>
    MySQL“被动”性能优化汇总
    查看>>
    MySQL、HBase 和 Elasticsearch:特点与区别详解
    查看>>