Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Duplicate
-
2.3.0
Description
As of hadoop 2.3.0, commit cc74a18c makes it so that nonsecureLocalUser replaces the user who submits a job if security is disabled:
return UserGroupInformation.isSecurityEnabled() ? user : nonsecureLocalUser;
However, the only way to enable security, is to NOT use SIMPLE authentication mode:
public static boolean isSecurityEnabled() { return !isAuthenticationMethodEnabled(AuthenticationMethod.SIMPLE); }
Thus, the framework ENFORCES that "SIMPLE" login security --> nonSecureuser for submission of LinuxExecutorContainer.
This results in a confusing issue, wherein we submit a job as "sally" and then get an exception that user "nobody" is not whitelisted and has UID < MAX_ID.
My proposed solution is that we should be able to leverage LinuxContainerExector regardless of hadoop's view of the security settings on the cluster, i.e. decouple LinuxContainerExecutor logic from the "isSecurityEnabled" return value.
Attachments
Issue Links
- duplicates
-
YARN-2424 LCE should support non-cgroups, non-secure mode
- Closed