问题导读 1、如何在安全的方式下以另一用户的名义提交作业或访问hdfs? 2、如何为joe创建一个代理用户 ugi 对象? 3、超级用户添加它自己的token到代理用户,为什么会出错?
简介
此文档描述了一个超级用户如何在安全的方式下以另一用户的名义提交作业或访问hdfs。
Use Case
下一部分描述的的代码示例对此用户用例是可用的。
一个用户名为'super'的超级用户想要以另一用户joe的名义提交作业或访问hdfs。超级用户有kerberos证书但是用户joe并没有。任务要求以用户joe的角色运行并且namenode上的文件访问也需要由joe完成。需要用户joe以超级用户的kerberos证书能够认证连接到namenode 或 job tracker。换句话说,super模拟了joe。
代码示例
在这个例子中,super的kerberos证书用来登录,并且为joe创建了一个代理用户 ugi 对象。这个操作随代理用户ugi对象生成的时候产生。(?)