Setup Hadoop Impersonation¶
For Enterprise Steam to act on behalf of logged-in users when launching clusters on Hadoop/YARN a Hadoop administrator has to allow Enterprise Steam to do so. This requires changes to Hadoop core-site.xml. Do not change core-site.xml manually, instead use Cloudera Manager, Ambari or similar tool that manages Hadoop configuration.
Hadoop administrator needs to add the following properties to core-site.xml:
<property>
<name>hadoop.proxyuser.SERVICEID.hosts</name>
<value>HOST</value>
</property>
<property>
<name>hadoop.proxyuser.SERVICEID.groups</name>
<value>*</value>
</property>
where:
SERVICEIDis the user ID of Kerberos principal that is associated with the Enterprise Steam Kerberos keytab or Enterprise Steam service ID (usuallysteam)HOSTis the hostname of the Enterprise Steam server. Wildcard (*) is accepted.
Following is an example of valid core-site.xml changes to enable Enterprise Steam on steam.mycompany.loc to impersonate any user:
<property>
<name>hadoop.proxyuser.SERVICEID.hosts</name>
<value>steam.mycompany.loc</value>
</property>
<property>
<name>hadoop.proxyuser.SERVICEID.groups</name>
<value>*</value>
</property>
Additional information about these changes is available here: https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/Superusers.html.
In Cloudera Manager¶
- Login to Cloudera Maanager as Hadoop administrator capable of changing Hadoop configuration.
- Go to HDFS service.
- Go to Configuration.
- Search for
Cluster-wide Advanced Configuration Snippet (Safety Valve) for core-site.xmlconfiguration. - Add entry with name
hadoop.proxyuser.SERVICEID.hostsand valueHOSTas described in the previous section. - Add entry with name
hadoop.proxyuser.SERVICEID.groupsand value*as described in the previous section. - Save Changes
- Deploy client configuration and restart the cluster.