Hadoop 重新编译-解决root用户提交任务报错Running as root is not allowed

芒果10个月前技术文章321

本文主要解决Hadoop root用户无法提交问题
Running as root is not allowed

image.png

Linux架构:arm或者x86都可以
Jdk版本:jdk1.8
cmake版本:3.19
Hadoop版本:3.2.1
Maven版本:3.6.3
Protobuf版本:2.5
查看报错 是因为在源码中做出了限制
/Users/mac/Desktop/客户/源码/hadoop-3.2.1-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/ 

image.png

struct passwd* check_user(const char *user) {
//  if (strcmp(user, "root") == 0) {
//    fprintf(LOGFILE, "Running as root is not allowed\n");
//    fflush(LOGFILE);
//    return NULL;
//  }
开启cgroup和LinuxContainerExecutor后无法用root去提交
修改/opt/hadoop-3.2.1-src01/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/configuration.c
改成这个样子 

image.png

然后退到/opt/hadoop-3.2.1-src01/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager
开始编译
mvn package -Pdist,native -DskipTests -Dtar -Dcontainer-executor.conf.dir=/etc/hadoop
注意/etc/hadoop 是你以后container-executor.cfg文件的位置 


image.png

编译完成
最新文件:/opt/hadoop-3.2.1-src01/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/target/native/target/usr/local/bin
 
传到HADOOP_HOME/bin下就可以了
我们在用root提交个任务试试
/opt/dtstack/Spark/spark_pkg/bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode cluster --executor-cores 1 --queue default /opt/dtstack/Spark/spark_pkg/examples/jars/spark-examples_2.12-3.2.0.jar 10 


image.png

chown root:hadoop container-executor
Chmod 6050 container-executor
解决 


相关文章

podman相关使用

Podman介绍Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进...

MySQL优化器特性(八)索引范围扫描成本计算

MySQL优化器特性(八)索引范围扫描成本计算

range执行计划中的range表示索引范围扫描。索引范围扫描的执行过程大致如下:1、根据where条件中索引字段的条件,定位到索引结构中的第一条满足条件的记录。2、根据索引中记录的rowid,到表中...

ORC、Parquet 等列式存储的优点

ORC 和Parquet 都是高性能的存储方式,这两种存储格式总会带来存储和性能上的提升Parquet:1. Parquet 支持嵌套的数据模型,类似于Protocol Buffers,每一个数据模型...

Nexus 制品管理平台

Nexus 制品管理平台

Nexus 官网:https://www.sonatype.com/nexus-repository-ossNexus 是一个很强大的私服软件,不仅仅是作为 Java 的 Maven 打包使用,同样的...

ACOS-可观测运维套件

ACOS-可观测运维套件

一、背景随着企业分布式应用、云计算的不断深入发展,业务系统的逻辑结构变得越来越复杂,面对企业运维复杂的环境和海量运维数据,在日常运维和生产运营中,会面临以下挑战:(1)多云,多系统,多服务,多数据的中...

ES运维(五)聚合分析流程及精准度

ES运维(五)聚合分析流程及精准度

1、 概述ES是一个近实时的搜索引擎,提供近实时海量数据的聚合分析功能,但这个海量数据聚合分析是会损失一定的精准度来满足实时性能需要的。 2、 分布式系统的近似统计算法如下图,在分布式数据分...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。