热门标签 | 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.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • 既然HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的she ... [详细]
  • HadoopYARN集群是一个通用的资源管理平台,可为各类计算框架提供资源的管理和调度。其核心是通过一个全局的资源管理器来实现分离资源管理与作业调度监控。Hadoop ... [详细]
  • hbase伪集群搭建
    hbase数据存储有三种跑法,跑在本地磁盘上、跑在伪分布式上、跑在完全分布式上--------额。。。官网的文档挺坑爹的,结合官网、百度、谷歌的各种 ... [详细]
  • Hive的使用2
    Hive常识Hive中没有定义专门的数据格式不需要从用户数据格式到Hive定义的数据格式的转换不会对数据本身进行任何修改,甚至不会对数据进行扫描不会对数据中的 ... [详细]
  • Oozie任务调度框架详解及使用简介(一)
    摘要:个人最近一段时间一直在使用oozie,从刚开始的各种别扭到现在越来越觉得有意思的情况下,想整理一下关于oozie的认知,整理出来一个oozie系列,本来市面上关于oozie的 ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • Hadoop之Yarn
    目录1Hadoop1.x和Hadoop2.x架构区别2Yarn概述3Yarn基本架构4Yarn工作机制5作业提交全过程6资源调度器7任务的推测执行1Hadoop1.x和Hadoo ... [详细]
  • hive的本质是hadoop客户端通过写sql转换成MapReduce提交给yarn、hdfs执行hive的优点操作接口采用类sql语法提供快速开发能力避免了去写MapReduce ... [详细]
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社区 版权所有