热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ambarihdfs启动报错_HDFSDataNode启动异常:/opt/jdk1.8.0_151/bin/java:权限不够

我的原创地址:HDFSDataNode启动异常:optjdk1.8.0_151binjava:权限不够​dongkelun.com前言这个异常是在在ambari里启动

我的原创地址:HDFS DataNode启动异常:/opt/jdk1.8.0_151/bin/java:权限不够​dongkelun.com

前言

这个异常是在在ambari里启动DataNode产生的,其实这个问题很久就发现了,只是没时间去处理,所以之前把发生问题的slave1节点给移除了,现在有时间处理,就又把slave1加上了,所以就有了ambari 异常总结及解决办法里面的问题,这个java权限不够的问题,在添加slave1之后,并安装datanode和nodemanager之后启动服务依然报错。

异常信息:

/usr/hdp/2.6.4.0-91//hadoop-hdfs/bin/hdfs.distro:行317: /opt/jdk1.8.0_151/bin/java: 权限不够

/usr/hdp/2.6.4.0-91//hadoop-hdfs/bin/hdfs.distro: 第 317 行:exec: /opt/jdk1.8.0_151/bin/java: 无法执行: 权限不够

这个问题在网上找也找不到对应的解决办法,所以有必要单独记录一下,没有放在ambari 异常总结及解决办法,且我认为即使不用ambari,该问题依然可能会发生。

1、详细异常信息

部分截图:

2、解决思路

首先确定java是否有问题,经过简单的测试,没发现问题,然后在/usr/hdp/2.6.4.0-91//hadoop-hdfs/bin/hdfs.distro查看第317行的内容,发现hdfs命令实际调用的java命令,但是一开始并不知道怎么解决这个问题,通过查看ambari的日志也并没有解决问题,最后回到jdk目录的权限问题。 首先有问题的时候

su - hdfs

hdfs -ls

执行上面的命令也是会报同样的问题,所以就不用在ambari里启动datanode服务就可以测试有没有问题了

3、解决办法

3.1 改变/opt的所有者给hdfs(只将jdk目录的给hdfs没有解决问题,没有深究其原因,可能因为还有其他目录和jdk有关联)

chown -R hdfs:hdfs /opt/

然后用hdfs -ls测试,发现没有上面的异常,这样就可以在在ambari里启动datanode了,启动成功!

3.2 启动nodemanager报错

/usr/hdp/2.6.4.0-91//hadoop-yarn/bin/yarn.distro:行376: /opt/jdk1.8.0_151/bin/java: 权限不够/usr/hdp/2.6.4.0-91//hadoop-yarn/bin/yarn.distro: 第 376 行:exec: /opt/jdk1.8.0_151/bin/java: 无法执行: 权限不够

异常信息一样,只是文件名不一样,同样的方法解决

chown -R yarn:yarn /opt/

启动nodemanager成功! 然后重启ambari所有服务,看一下是否还有问题,结果slave1启动datanode时报了同样的错误,问了一下同事,发现我对chown -R上面的命令有所误解,我开始认为是让hdfs拥有opt的权限,只想上面两步后,hdfs和yarn都有了opt的权限,但是其实该命令是更改opt的所有者,执行上面的两步之后,只有yarn拥有opt的权限了,也就是将hdfs覆盖了。

3.3 让hadoop组都拥有opt的权限

chown -R yarn:hadoop /opt/

chmod -R 770 /opt

大概解释一下上面的命令,首先更改opt的所有者为hadoop组下面的yarn用户(yarn和hdfs都属于hadoop组) 然后770的意思是用户和用户组对opt目录具有rwx的权限,其他用户没有任何权限,这样hdfs用户也有opt的权限了,这样重启ambari的所有服务就会成功了!

3.4 最后的方法

上面命令是同事帮忙操作的,然后发现自己对Linux权限不太了解,就大概查了一下权限相关的资料,因为之前已经把opt的权限弄乱了,所以最后先这样解决(测试环境,且opt目录一般就我们几个人用) 首先将opt的所有者改回为root

chown -R root:root /opt/

然后更改opt的权限为755

chmod -R 755 /opt

755的意思为用户的权限为rwx,用户组和其他人的权限均为r-x,即没有写权限,一般文件权限也是755(应该也是默认的,可以自己新建一个文件夹进行测试),然后这样重启ambari的所有服务也是没有问题的 因为-R是递归的,这样其实不好,因为有些txt,readme的权限也改了,所以我将opt下面的jdk目录删除并重新解压了一份。 opt各目录权限截图:

4、总结

其实该问题只修改jdk相关的目录的权限即可,但是之前已经递归修改opt的目录,所以暂时只能按照3.4的办法解决。该异常出现的原因应该是才平时的操作中,误修改了jdk的权限,为了防止出现这种问题,平时在操作中关于chmod -R等相关的操作一定要慎用。



推荐阅读
  • Hadoop 2.6 主要由 HDFS 和 YARN 两大部分组成,其中 YARN 包含了运行在 ResourceManager 的 JVM 中的组件以及在 NodeManager 中运行的部分。本文深入探讨了 Hadoop 2.6 日志文件的解析方法,并详细介绍了 MapReduce 日志管理的最佳实践,旨在帮助用户更好地理解和优化日志处理流程,提高系统运维效率。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 在搭建Hadoop集群以处理大规模数据存储和频繁读取需求的过程中,经常会遇到各种配置难题。本文总结了作者在实际部署中遇到的典型问题,并提供了详细的解决方案,帮助读者避免常见的配置陷阱。通过这些经验分享,希望读者能够更加顺利地完成Hadoop集群的搭建和配置。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 本文介绍如何通过整合SparkSQL与Hive来构建高效的用户画像环境,提高数据处理速度和查询效率。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 构建高可用性Spark分布式集群:大数据环境下的最佳实践
    在构建高可用性的Spark分布式集群过程中,确保所有节点之间的无密码登录是至关重要的一步。通过在每个节点上生成SSH密钥对(使用 `ssh-keygen -t rsa` 命令并保持默认设置),可以实现这一目标。此外,还需将生成的公钥分发到所有节点的 `~/.ssh/authorized_keys` 文件中,以确保节点间的无缝通信。为了进一步提升集群的稳定性和性能,建议采用负载均衡和故障恢复机制,并定期进行系统监控和维护。 ... [详细]
  • HBase在金融大数据迁移中的应用与挑战
    随着最后一台设备的下线,标志着超过10PB的HBase数据迁移项目顺利完成。目前,新的集群已在新机房稳定运行超过两个月,监控数据显示,新集群的查询响应时间显著降低,系统稳定性大幅提升。此外,数据消费的波动也变得更加平滑,整体性能得到了显著优化。 ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • Hadoop 2.6.0 HDFS Rack Awareness(机架感知)原理与配置步骤详解
    Hadoop2.6.0HDFSRackAwareness(机架感知)原理与配置步骤详解前言:  多副本前提下,在访问HadoopHDFS集群时,访问速度直接受到Datanode选取 ... [详细]
  • 大数据技术原理与应用:大数据处理架构Hadoop生态圈
    Hadoop生态圈概述Hadoop简介什么是Apachehadoop?ApacheHadoop项目是以可靠、可扩展和分布式计算为目的而发展而来的开源软件ApacheHadoop软件 ... [详细]
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 本文详细介绍了HDFS的基础知识及其数据读写机制。首先,文章阐述了HDFS的架构,包括其核心组件及其角色和功能。特别地,对NameNode进行了深入解析,指出其主要负责在内存中存储元数据、目录结构以及文件块的映射关系,并通过持久化方案确保数据的可靠性和高可用性。此外,还探讨了DataNode的角色及其在数据存储和读取过程中的关键作用。 ... [详细]
author-avatar
史军2927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有