1.对于hadoop而言
如果hadoop没有启Kerberos或者从Kerberos获取的用户为null,那么获取HADOOP_USER_NAME环境变量,并将它的值作为Hadoop执行用户。如果我们没有设置HADOOP_USER_NAME环境变量,那么程序将调用whoami来获取当前用户,并用groups来获取用户所在组。
所以可以设置环境变量:
export HADOOP_USER_NAME=hdfs
1
或者在程序中设置:
System.setProperty("HADOOP_USER_NAME", "hdfs");
1
2.对于Spark
Spark默认将用户程序运行所在系统的当前登录用户作为用户程序的关联用户。
所以可以采用一下两种方法:
1.修改当前用户名为: hdfs
2.代码中添加:
System.setProperty("user.name", "hdfs");
原文:https://blog.youkuaiyun.com/gx304419380/article/details/79710898

本文详细介绍了在Hadoop和Spark环境中如何设置用户身份,包括通过环境变量HADOOP_USER_NAME和系统属性user.name来指定执行用户的方法,以及在未设置时系统如何确定执行用户的默认流程。
5924

被折叠的 条评论
为什么被折叠?



