|
@@ -26,7 +26,6 @@ import org.apache.hadoop.conf.Configuration;
|
|
import org.apache.hadoop.conf.Configured;
|
|
import org.apache.hadoop.conf.Configured;
|
|
import org.apache.hadoop.ipc.RemoteException;
|
|
import org.apache.hadoop.ipc.RemoteException;
|
|
import org.apache.hadoop.net.NetUtils;
|
|
import org.apache.hadoop.net.NetUtils;
|
|
-import org.apache.hadoop.security.SecurityInfo;
|
|
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
import org.apache.hadoop.util.Tool;
|
|
import org.apache.hadoop.util.Tool;
|
|
import org.apache.hadoop.util.ToolRunner;
|
|
import org.apache.hadoop.util.ToolRunner;
|
|
@@ -34,11 +33,11 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
import org.apache.hadoop.yarn.factories.RecordFactory;
|
|
import org.apache.hadoop.yarn.factories.RecordFactory;
|
|
import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
|
|
import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
|
|
import org.apache.hadoop.yarn.ipc.YarnRPC;
|
|
import org.apache.hadoop.yarn.ipc.YarnRPC;
|
|
-import org.apache.hadoop.yarn.security.admin.AdminSecurityInfo;
|
|
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.RMAdminProtocol;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.RMAdminProtocol;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshAdminAclsRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshAdminAclsRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshNodesRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshNodesRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshQueuesRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshQueuesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshServiceAclsRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshSuperUserGroupsConfigurationRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshSuperUserGroupsConfigurationRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshUserToGroupsMappingsRequest;
|
|
import org.apache.hadoop.yarn.server.resourcemanager.api.protocolrecords.RefreshUserToGroupsMappingsRequest;
|
|
|
|
|
|
@@ -64,6 +63,7 @@ public class RMAdmin extends Configured implements Tool {
|
|
" [-refreshSuperUserGroupsConfiguration]" +
|
|
" [-refreshSuperUserGroupsConfiguration]" +
|
|
" [-refreshUserToGroupsMappings]" +
|
|
" [-refreshUserToGroupsMappings]" +
|
|
" [-refreshAdminAcls]" +
|
|
" [-refreshAdminAcls]" +
|
|
|
|
+ " [-refreshServiceAcl]" +
|
|
" [-help [cmd]]\n";
|
|
" [-help [cmd]]\n";
|
|
|
|
|
|
String refreshQueues =
|
|
String refreshQueues =
|
|
@@ -85,6 +85,10 @@ public class RMAdmin extends Configured implements Tool {
|
|
String help = "-help [cmd]: \tDisplays help for the given command or all commands if none\n" +
|
|
String help = "-help [cmd]: \tDisplays help for the given command or all commands if none\n" +
|
|
"\t\tis specified.\n";
|
|
"\t\tis specified.\n";
|
|
|
|
|
|
|
|
+ String refreshServiceAcl =
|
|
|
|
+ "-refreshServiceAcl: Reload the service-level authorization policy file\n" +
|
|
|
|
+ "\t\tResoureceManager will reload the authorization policy file.\n";
|
|
|
|
+
|
|
if ("refreshQueues".equals(cmd)) {
|
|
if ("refreshQueues".equals(cmd)) {
|
|
System.out.println(refreshQueues);
|
|
System.out.println(refreshQueues);
|
|
} else if ("refreshNodes".equals(cmd)) {
|
|
} else if ("refreshNodes".equals(cmd)) {
|
|
@@ -95,11 +99,18 @@ public class RMAdmin extends Configured implements Tool {
|
|
System.out.println(refreshSuperUserGroupsConfiguration);
|
|
System.out.println(refreshSuperUserGroupsConfiguration);
|
|
} else if ("refreshAdminAcls".equals(cmd)) {
|
|
} else if ("refreshAdminAcls".equals(cmd)) {
|
|
System.out.println(refreshAdminAcls);
|
|
System.out.println(refreshAdminAcls);
|
|
|
|
+ } else if ("refreshServiceAcl".equals(cmd)) {
|
|
|
|
+ System.out.println(refreshServiceAcl);
|
|
} else if ("help".equals(cmd)) {
|
|
} else if ("help".equals(cmd)) {
|
|
System.out.println(help);
|
|
System.out.println(help);
|
|
} else {
|
|
} else {
|
|
System.out.println(summary);
|
|
System.out.println(summary);
|
|
System.out.println(refreshQueues);
|
|
System.out.println(refreshQueues);
|
|
|
|
+ System.out.println(refreshNodes);
|
|
|
|
+ System.out.println(refreshUserToGroupsMappings);
|
|
|
|
+ System.out.println(refreshSuperUserGroupsConfiguration);
|
|
|
|
+ System.out.println(refreshAdminAcls);
|
|
|
|
+ System.out.println(refreshServiceAcl);
|
|
System.out.println(help);
|
|
System.out.println(help);
|
|
System.out.println();
|
|
System.out.println();
|
|
ToolRunner.printGenericCommandUsage(System.out);
|
|
ToolRunner.printGenericCommandUsage(System.out);
|
|
@@ -121,6 +132,8 @@ public class RMAdmin extends Configured implements Tool {
|
|
System.err.println("Usage: java RMAdmin" + " [-refreshSuperUserGroupsConfiguration]");
|
|
System.err.println("Usage: java RMAdmin" + " [-refreshSuperUserGroupsConfiguration]");
|
|
} else if ("-refreshAdminAcls".equals(cmd)){
|
|
} else if ("-refreshAdminAcls".equals(cmd)){
|
|
System.err.println("Usage: java RMAdmin" + " [-refreshAdminAcls]");
|
|
System.err.println("Usage: java RMAdmin" + " [-refreshAdminAcls]");
|
|
|
|
+ } else if ("-refreshService".equals(cmd)){
|
|
|
|
+ System.err.println("Usage: java RMAdmin" + " [-refreshServiceAcl]");
|
|
} else {
|
|
} else {
|
|
System.err.println("Usage: java RMAdmin");
|
|
System.err.println("Usage: java RMAdmin");
|
|
System.err.println(" [-refreshQueues]");
|
|
System.err.println(" [-refreshQueues]");
|
|
@@ -128,6 +141,7 @@ public class RMAdmin extends Configured implements Tool {
|
|
System.err.println(" [-refreshUserToGroupsMappings]");
|
|
System.err.println(" [-refreshUserToGroupsMappings]");
|
|
System.err.println(" [-refreshSuperUserGroupsConfiguration]");
|
|
System.err.println(" [-refreshSuperUserGroupsConfiguration]");
|
|
System.err.println(" [-refreshAdminAcls]");
|
|
System.err.println(" [-refreshAdminAcls]");
|
|
|
|
+ System.err.println(" [-refreshServiceAcl]");
|
|
System.err.println(" [-help [cmd]]");
|
|
System.err.println(" [-help [cmd]]");
|
|
System.err.println();
|
|
System.err.println();
|
|
ToolRunner.printGenericCommandUsage(System.err);
|
|
ToolRunner.printGenericCommandUsage(System.err);
|
|
@@ -210,6 +224,15 @@ public class RMAdmin extends Configured implements Tool {
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private int refreshServiceAcls() throws IOException {
|
|
|
|
+ // Refresh the service acls
|
|
|
|
+ RMAdminProtocol adminProtocol = createAdminProtocol();
|
|
|
|
+ RefreshServiceAclsRequest request =
|
|
|
|
+ recordFactory.newRecordInstance(RefreshServiceAclsRequest.class);
|
|
|
|
+ adminProtocol.refreshServiceAcls(request);
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public int run(String[] args) throws Exception {
|
|
public int run(String[] args) throws Exception {
|
|
if (args.length < 1) {
|
|
if (args.length < 1) {
|
|
@@ -224,7 +247,7 @@ public class RMAdmin extends Configured implements Tool {
|
|
// verify that we have enough command line parameters
|
|
// verify that we have enough command line parameters
|
|
//
|
|
//
|
|
if ("-refreshAdminAcls".equals(cmd) || "-refreshQueues".equals(cmd) ||
|
|
if ("-refreshAdminAcls".equals(cmd) || "-refreshQueues".equals(cmd) ||
|
|
- "-refreshNodes".equals(cmd) ||
|
|
|
|
|
|
+ "-refreshNodes".equals(cmd) || "-refreshServiceAcl".equals(cmd) ||
|
|
"-refreshUserToGroupsMappings".equals(cmd) ||
|
|
"-refreshUserToGroupsMappings".equals(cmd) ||
|
|
"-refreshSuperUserGroupsConfiguration".equals(cmd)) {
|
|
"-refreshSuperUserGroupsConfiguration".equals(cmd)) {
|
|
if (args.length != 1) {
|
|
if (args.length != 1) {
|
|
@@ -245,6 +268,8 @@ public class RMAdmin extends Configured implements Tool {
|
|
exitCode = refreshSuperUserGroupsConfiguration();
|
|
exitCode = refreshSuperUserGroupsConfiguration();
|
|
} else if ("-refreshAdminAcls".equals(cmd)) {
|
|
} else if ("-refreshAdminAcls".equals(cmd)) {
|
|
exitCode = refreshAdminAcls();
|
|
exitCode = refreshAdminAcls();
|
|
|
|
+ } else if ("-refreshServiceAcl".equals(cmd)) {
|
|
|
|
+ exitCode = refreshServiceAcls();
|
|
} else if ("-help".equals(cmd)) {
|
|
} else if ("-help".equals(cmd)) {
|
|
if (i < args.length) {
|
|
if (i < args.length) {
|
|
printUsage(args[i]);
|
|
printUsage(args[i]);
|