安装运行Hadoop出现:ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.-程序员宅基地

技术标签: Linux  linux  hadoop  大数据  

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. Starting datanodes

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. Starting datanodes

在这里插入图片描述

错误描述:

Starting namenodes on [localhost]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [localhost]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
2021-01-13 22:30:38,582 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

解决方法:

方法一:

在Hadoop安装目录下找到sbin文件夹

在里面修改四个文件

1、对于start-dfs.sh和stop-dfs.sh文件,添加下列参数:

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

在这里插入图片描述

2、对于start-yarn.sh和stop-yarn.sh文件,添加下列参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

在这里插入图片描述

在这里插入图片描述

重新开始start…就可以。

方法二、(推荐)

The root cause of this problem,

hadoop install for different user and you start yarn service for different user. OR
in hadoop config's hadoop-env.sh specified HDFS_NAMENODE_USER and HDFS_DATANODE_USER user is something else.

Hence we need to correct and make it consistent at every place. So a simple solution of this problem is to edit your hadoop-env.sh file and add the user-name for which you want to start the yarn service. So go ahead and edit $HADOOP_HOME/etc/hadoop/hadoop-env.sh by adding the following lines

cd /usr/soft/hadoop/hadoop-3.3.0/etc/hadoop/
vim hadoop-env.sh
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

在这里插入图片描述

Now save and start yarn, hdfs service and check that it works.

我们在hadoop-env.sh文件中也可以找到如下的描述

To prevent accidents, shell commands be (superficially) locked to only allow certain users to execute certain subcommands.

为了防止发生意外,仅(部分)锁定shell命令以仅允许某些用户执行某些子命令。

It uses the format of (command)_(subcommand)_USER.For example, to limit who can execute the namenode command,export HDFS_NAMENODE_USER=hdfs

使用“命令_子命令_用户”,例如,通过使用export HDFS_NAMENODE_USER=hdfs来限制哪个用户可以执行namenode命令。

参考stackoverflow上的相关讨论

转载博客:
https://blog.csdn.net/ystyaoshengting/article/details/103026872

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43848614/article/details/112596493

智能推荐

数字文旅重塑旅游发展新格局:以数字化转型为突破口,提升旅游服务的智能化水平,为游客带来全新的旅游体验

通过数字化转型和智能化服务的提升,数字文旅为游客带来了全新的旅游体验,推动了旅游业的持续健康发展。数字文旅以数字化转型为突破口,通过提升旅游服务的智能化水平,为游客带来全新的旅游体验,引领旅游业迈向更加智能化、个性化的未来。“方案365”全新整理智慧文旅、智慧园区、数字乡村-智慧农业、智慧城市、数据治理、智慧应急、数字孪生、乡村振兴、智慧乡村、元宇宙、数据中台、智慧矿山、城市生命线、智慧水利、智慧校园、智慧工地、智慧农业、智慧旅游等300+行业全套解决方案。数字文旅的兴起正在重塑旅游发展的新格局。

DRF JWT认证进阶

实际的案例中,登录的方式有很多种,既可以是用户名,还可以是手机号,还可以是邮箱等,并且他们的登录输入入口都是一个,所以这里将实现这种接口用户表用普通的表创建一个数据表用于侧式认证功能username = models.CharField(max_length=64, verbose_name='用户名')password = models.CharField(max_length=64, verbose_name='密码')

使用VSCODE生成调试Linux下C++的CMake项目_vscode cmake 新建linux工程-程序员宅基地

文章浏览阅读1.4k次。以epoll-server项目为例,通过VSCODE编译并调试。该形目由CMake构建,目标在该目录下生成build目录,通过CMake生成Makefile工程到build目录下,然后在build目录下执行make命令进行编译,最后通过VSCODE进行调试。Build代码目录用VSCODE WSL模式打开该目录。在.vscode文件夹下面创建task.json。task.json{ "version": "2.0.0", "tasks": [ {.._vscode cmake 新建linux工程

“Beyond Compare 许可证密钥被撤销” 的解决方案_bcompare许可证密钥已被撤销-程序员宅基地

文章浏览阅读1.9w次,点赞3次,收藏5次。由于在数据库发布经常需要进行文件对比,最近在使用文件比较器时,该软件不能够使用。弹出框的消息为许可证秘钥被撤销,解决该问题的方法如下: 1、找到“C:\Users\[Your User Name]\AppData\Roaming\Scooter Software\Beyond Compare 3\”目录 2、将这个目录下的所有文件都删除掉,重新打开“B..._bcompare许可证密钥已被撤销

SQL 入门指南:从零开始学习 SQL-程序员宅基地

文章浏览阅读1k次,点赞19次,收藏10次。SQL是结构化查询语言(Structured Query Language)的缩写,是一种用于管理关系型数据库系统的语言。SQL允许用户通过特定的命令来创建、查询、更新和删除数据库中的数据。SQL的起源可以追溯到20世纪70年代,当时IBM的研究员Edgar F. Codd提出了关系数据库模型的概念,并在1970年发表了一篇题为“A Relational Model of Data for Large Shared Data Banks”的论文。

html简单网页源代码表格,HTML 表格-程序员宅基地

文章浏览阅读2.8k次。HTML 表格HTML 表格实例:First NameLast NamePointsJillSmith50EveJackson94JohnDoe80AdamJohnson67在线实例表格这个例子演示如何在 HTML 文档中创建表格。(可以在本页底端找到更多实例。)HTML 表格表格由 标签来定义。每个表格均有若干行(由 标签定义),每行被分割为若干单元格(由 标签定义)。字母 td 指表格数..._简易表单网站源码

随便推点

webrtc中APM(AudioProcessing module)的使用2-程序员宅基地

文章浏览阅读91次。这个其实就是从Audio_processing.h中拿出来的。APM should be placed in the signal chain as close to the audio hardware abstraction layer (HAL) as possible.APM accepts only 16-bit linear PCM audio data in frames of 10..._webrtc record level apm in level apm out level

DRF JWT认证进阶

实际的案例中,登录的方式有很多种,既可以是用户名,还可以是手机号,还可以是邮箱等,并且他们的登录输入入口都是一个,所以这里将实现这种接口用户表用普通的表创建一个数据表用于侧式认证功能username = models.CharField(max_length=64, verbose_name='用户名')password = models.CharField(max_length=64, verbose_name='密码')

C++-10

C++

sql server查看表大小_查看sql表的大小-程序员宅基地

文章浏览阅读3.9k次。sql server查看表大小查看SqlServer 数据库中各个表多少行:SELECT A.NAME ,B.ROWS FROM sysobjects A JOIN sysindexes B ON A.id = B.id WHERE A.xtype = 'U' AND B.indid IN(0,1) ORDER BY B.ROWS DESC数据库磁盘占用量:select name, CAST(convert(float,size) * (8192.0/1024.0)/1024 AS .._查看sql表的大小

【C语言】初阶指针(指针及其类型以及野指针)_c %zu-程序员宅基地

文章浏览阅读395次,点赞16次,收藏13次。指针的类型决定了,对指针解引用的时候有多大的权限(能操作几个字节)。比如:char* 的指针解引用就只能访问一个字节,而int* 的指针解引用就能访问四个字节。_c %zu

F460 CLK配置功能模块说明_f460 tmera-程序员宅基地

文章浏览阅读1.4k次。F460CLK配置功能模块说明目录F460CLK配置功能模块说明CLK配置:1. DDL_ICG——初始化配置2. DDL_UTILITY——基础功能函数3.DDL_PRINT-待细化4.DDL_ADC5.DDL_AES——AES 加解密算法处理器6.DDL_CAN7. DDL_CLK8. DDL_CMP——电压比较器9. DDL_CRC10. DDL_DCU——数据计算单元11. DDL_DMAC——DMA 控制器..._f460 tmera