|
@@ -25,6 +25,7 @@ import org.apache.commons.logging.Log;
|
|
|
import org.apache.commons.logging.LogFactory;
|
|
|
import org.apache.hadoop.classification.InterfaceAudience.Private;
|
|
|
import org.apache.hadoop.conf.Configuration;
|
|
|
+import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
|
|
|
import org.apache.hadoop.ipc.ProtobufRpcEngine;
|
|
|
import org.apache.hadoop.ipc.RPC;
|
|
|
import org.apache.hadoop.ipc.WritableRpcEngine;
|
|
@@ -34,7 +35,6 @@ import org.apache.hadoop.security.Groups;
|
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
|
import org.apache.hadoop.security.authorize.AccessControlList;
|
|
|
import org.apache.hadoop.security.authorize.ProxyUsers;
|
|
|
-import org.apache.hadoop.yarn.ipc.RPCUtil;
|
|
|
import org.apache.hadoop.yarn.logaggregation.AggregatedLogDeletionService;
|
|
|
import org.apache.hadoop.security.proto.RefreshUserMappingsProtocolProtos.RefreshUserMappingsProtocolService;
|
|
|
import org.apache.hadoop.security.protocolPB.RefreshUserMappingsProtocolPB;
|
|
@@ -43,12 +43,13 @@ import org.apache.hadoop.service.AbstractService;
|
|
|
import org.apache.hadoop.tools.proto.GetUserMappingsProtocolProtos.GetUserMappingsProtocolService;
|
|
|
import org.apache.hadoop.tools.protocolPB.GetUserMappingsProtocolPB;
|
|
|
import org.apache.hadoop.tools.protocolPB.GetUserMappingsProtocolServerSideTranslatorPB;
|
|
|
+import org.apache.hadoop.mapreduce.v2.api.HSAdminProtocol;
|
|
|
+import org.apache.hadoop.mapreduce.v2.api.HSAdminRefreshProtocolPB;
|
|
|
+import org.apache.hadoop.mapreduce.v2.app.security.authorize.ClientHSPolicyProvider;
|
|
|
import org.apache.hadoop.mapreduce.v2.hs.HSAuditLogger;
|
|
|
import org.apache.hadoop.mapreduce.v2.hs.HSAuditLogger.AuditConstants;
|
|
|
import org.apache.hadoop.mapreduce.v2.hs.JobHistory;
|
|
|
import org.apache.hadoop.mapreduce.v2.hs.proto.HSAdminRefreshProtocolProtos.HSAdminRefreshProtocolService;
|
|
|
-import org.apache.hadoop.mapreduce.v2.hs.protocol.HSAdminProtocol;
|
|
|
-import org.apache.hadoop.mapreduce.v2.hs.protocolPB.HSAdminRefreshProtocolPB;
|
|
|
import org.apache.hadoop.mapreduce.v2.hs.protocolPB.HSAdminRefreshProtocolServerSideTranslatorPB;
|
|
|
|
|
|
import com.google.protobuf.BlockingService;
|
|
@@ -110,6 +111,13 @@ public class HSAdminServer extends AbstractService implements HSAdminProtocol {
|
|
|
addProtocol(conf, HSAdminRefreshProtocolPB.class,
|
|
|
refreshHSAdminProtocolService);
|
|
|
|
|
|
+ // Enable service authorization?
|
|
|
+ if (conf.getBoolean(
|
|
|
+ CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHORIZATION,
|
|
|
+ false)) {
|
|
|
+ clientRpcServer.refreshServiceAcl(conf, new ClientHSPolicyProvider());
|
|
|
+ }
|
|
|
+
|
|
|
adminAcl = new AccessControlList(conf.get(JHAdminConfig.JHS_ADMIN_ACL,
|
|
|
JHAdminConfig.DEFAULT_JHS_ADMIN_ACL));
|
|
|
|