[ https://issues.apache.org/jira/browse/SLIDER-1114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15264752#comment-15264752 ]
Manoj Samel commented on SLIDER-1114: ------------------------------------- Capturing d-list discussion for this topic here for future reference There was a suggestion on running each component as a separate application. I.e. rather than running a single application and launching a component per user; run one application per end user. Though this will address the security requirement (each application can be started as the required end user); this creates scalability & manageability issue when user population is taken into account. There will be hundreds or thousands of users. This means there will be thousands of application instances and thousands of slider AM instances running on the cluster; each managing just one component 1. Running large number of AMs (each managing just one component) will burden resources 2. The application life cycle (stop/start/upgrade/monitor) will be hard to manage with large number of application instances. The advantage of single application (with multiple components) is that the application code base is single, just the runtime security is changed per user; thus the life cycle is easier to manage. > Provide option to run components as different user(s) > ----------------------------------------------------- > > Key: SLIDER-1114 > URL: https://issues.apache.org/jira/browse/SLIDER-1114 > Project: Slider > Issue Type: New Feature > Affects Versions: Slider 0.80 > Reporter: Manoj Samel > > Environment is slider .80 on Hadoop 2.6 secured cluster > A component is launched for each distinct user of the service (via upgrade). > E.g. when user A accesses service, do a "upgrade" and create a component for > user A. When user B comes, create another component for user B etc. > At present, all of these components are launched & run as single linux user - > this is the user who launches slider AM. > Security needs may demand that each component be run as its own linux user. > This ask is similar to how secured Hadoop cluster launches MR jobs for user > using user's login > Expected ask is as follows ... > Launch slider AM as user "admin" > Run component for user A as user A's uid and gid > Run component for user B as user B's uid and gid > It seems this was thought about and then commented out in some version > In version .80; resource_management/core/resources/system.py, I noticed that > class Execute can take a parameter "user". Its not clear if and how this > could be used. In core/shell.py, the logic around "user" is commented out > with comment " Do not su to the supplied user" -- This message was sent by Atlassian JIRA (v6.3.4#6332)