• Hadoop-2.2.0中文文档—— Common


    简单介绍

    此文档描写叙述了一个超级用户怎样在安全的方式下以还有一用户的名义提交作业或訪问hdfs。

    Use Case

    下一部分描写叙述的的代码演示样例对此用户用例是可用的。

    一个username为'super'的超级用户想要以还有一用户joe的名义提交作业或訪问hdfs。超级用户有kerberos证书可是用户joe并没有。

    任务要求以用户joe的角色执行而且namenode上的文件訪问也须要由joe完毕。须要用户joe以超级用户的kerberos证书可以认证连接到namenode 或 job tracker。换句话说。super模拟了joe。

    代码演示样例

    在这个样例中,super的kerberos证书用来登录,而且为joe创建了一个代理用户 ugi 对象。这个操作随代理用户ugi对象生成的时候产生。(?

    )

        //为 joe 创建 ugi. 登录用户是 'super'.
        UserGroupInformation ugi =
                UserGroupInformation.createProxyUser("joe", UserGroupInformation.getLoginUser());
        ugi.doAs(new PrivilegedExceptionAction<Void>() {
          public Void run() throws Exception {
            //提交一个 job
            JobClient jc = new JobClient(conf);
            jc.submitJob(conf);
            //或訪问 hdfs
            FileSystem fs = FileSystem.get(conf);
            fs.mkdir(someFilePath);
          }
        }

    配置

    超级用户必须配置在 namenode 和 jobtracker 上同意模拟还有一个用户。以下的配置是必须的。

       <property>
         <name>hadoop.proxyuser.super.groups</name>
         <value>group1,group2</value>
         <description>Allow the superuser super to impersonate any members of the group group1 and group2</description>
       </property>
       <property>
         <name>hadoop.proxyuser.super.hosts</name>
         <value>host1,host2</value>
         <description>The superuser can connect only from host1 and host2 to impersonate a user</description>
       </property>

    假设没有这些配置。模拟将不被同意,连接会失败。

    假设较松的安全机制优先。通配符 * 可以用来同意来自随意主机的随意用户模拟。

    警告

    超级用户必须有kerberos证书,才干模拟还有一个用户。

    这个特性不能使用授权token。

    假设超级用户加入它自己的token到代理用户ugi。就会出错,由于它会同意代理用户以超级用户的权限连接到服务。

    然而。假设超级用户不想把token给joe。它必须首先模拟joe并为joe获得一个token。如上面的代码所看到的,并加入到joe的ugi上。以此种方式。授权token将以joe作为其拥有者。

  • 相关阅读:
    Cocos2d-x基础篇C++
    wamp+thinkphp环境配置
    bootstrap table笔记
    写后台SQL的一些心得
    mybatis代码自动生成
    Maven+SpringMVC+MyBatis 上传图片
    五毛的cocos2d-x学习笔记08-动画
    五毛的cocos2d-x学习笔记07-计时器、数据读写、文件读写
    五毛的cocos2d-x学习笔记06-处理用户交互
    学习python笔记 协程
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10672088.html
Copyright © 2020-2023  润新知