/** * Queries RM for the list of applications with the given tag that have started * after the given timestamp. */ private Set<ApplicationId> getYarnChildJobs(String tag, long timestamp) { Set<ApplicationId> childYarnJobs = new HashSet<ApplicationId>(); LOG.info(String.format("Querying RM for tag = %s, starting with ts = %s", tag, timestamp)); GetApplicationsRequest gar = GetApplicationsRequest.newInstance(); gar.setScope(ApplicationsRequestScope.OWN); gar.setStartRange(timestamp, System.currentTimeMillis()); gar.setApplicationTags(Collections.singleton(tag)); try { ApplicationClientProtocol proxy = ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); GetApplicationsResponse apps = proxy.getApplications(gar); List<ApplicationReport> appsList = apps.getApplicationList(); for(ApplicationReport appReport : appsList) { childYarnJobs.add(appReport.getApplicationId()); } } catch (IOException ioe) { throw new RuntimeException("Exception occurred while finding child jobs", ioe); } catch (YarnException ye) { throw new RuntimeException("Exception occurred while finding child jobs", ye); } return childYarnJobs; } }
private YarnClient createYarnClient() { YarnClient yarnClient = new YarnClientImpl(); yarnClient.init(configuration); yarnClient.start(); return yarnClient; }
@Override public void close() throws Exception { yarnClient.stop(); } }
/** * Create a proxy to the ResourceManager for the specified protocol. * @param configuration Configuration with all the required information. * @param protocol Client protocol for which proxy is being requested. * @param <T> Type of proxy. * @return Proxy to the ResourceManager for the specified client protocol. * @throws IOException */ public static <T> T createRMProxy(final Configuration configuration, final Class<T> protocol) throws IOException { ClientRMProxy<T> clientRMProxy = new ClientRMProxy<>(); return createRMProxy(configuration, protocol, clientRMProxy); }
protected ApplicationHistoryProtocol getAHSProxy(Configuration configuration) throws IOException { return AHSProxy.createAHSProxy(configuration, ApplicationHistoryProtocol.class, configuration.getSocketAddr(YarnConfiguration.TIMELINE_SERVICE_ADDRESS, YarnConfiguration.DEFAULT_TIMELINE_SERVICE_ADDRESS, YarnConfiguration.DEFAULT_TIMELINE_SERVICE_PORT)); }
public Text getRMDelegationTokenService() { if (rmDTService == null) { rmDTService = ClientRMProxy.getRMDelegationTokenService(conf); } return rmDTService; }
public static <T> T createAHSProxy(final Configuration conf, final Class<T> protocol, InetSocketAddress ahsAddress) throws IOException { LOG.info("Connecting to Application History server at " + ahsAddress); return (T) getProxy(conf, protocol, ahsAddress); }
@Override public void cancel() { try { yarnClient.killApplication(appId); } catch (YarnRemoteException e) { throw new RuntimeException("Failed to kill application " + appId, e); } }
public static Set<ApplicationId> getChildYarnJobs(Configuration conf, String tag) throws IOException, YarnException { Set<ApplicationId> childYarnJobs = new HashSet<ApplicationId>(); GetApplicationsRequest gar = GetApplicationsRequest.newInstance(); gar.setScope(ApplicationsRequestScope.OWN); gar.setApplicationTags(Collections.singleton(tag)); ApplicationClientProtocol proxy = ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); GetApplicationsResponse apps = proxy.getApplications(gar); List<ApplicationReport> appsList = apps.getApplicationList(); for(ApplicationReport appReport : appsList) { if (isAdmin() || appReport.getApplicationTags().contains(QueryState.USERID_TAG + "=" + SessionState.get() .getUserName())) { childYarnJobs.add(appReport.getApplicationId()); } } if (childYarnJobs.isEmpty()) { LOG.info("No child applications found"); } else { LOG.info("Found child YARN applications: " + StringUtils.join(childYarnJobs, ",")); } return childYarnJobs; }
protected ApplicationHistoryProtocol getAHSProxy(Configuration configuration) throws IOException { return AHSProxy.createAHSProxy(configuration, ApplicationHistoryProtocol.class, configuration.getSocketAddr(YarnConfiguration.TIMELINE_SERVICE_ADDRESS, YarnConfiguration.DEFAULT_TIMELINE_SERVICE_ADDRESS, YarnConfiguration.DEFAULT_TIMELINE_SERVICE_PORT)); }
public Text getRMDelegationTokenService() { if (rmDTService == null) { rmDTService = ClientRMProxy.getRMDelegationTokenService(conf); } return rmDTService; }
public static <T> T createAHSProxy(final Configuration conf, final Class<T> protocol, InetSocketAddress ahsAddress) throws IOException { LOG.info("Connecting to Application History server at " + ahsAddress); return (T) getProxy(conf, protocol, ahsAddress); }
@Override public ApplicationMasterProtocol run() throws Exception { setAMRMTokenService(conf); return ClientRMProxy.createRMProxy(conf, ApplicationMasterProtocol.class); } });
@Override public ApplicationClientProtocol run() throws Exception { return ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); } });
@Override public T run() throws Exception { return ClientRMProxy.createRMProxy(configuration, protocol); } });
/** * Create a proxy to the ResourceManager for the specified protocol. * @param configuration Configuration with all the required information. * @param protocol Client protocol for which proxy is being requested. * @param <T> Type of proxy. * @return Proxy to the ResourceManager for the specified client protocol. * @throws IOException */ public static <T> T createRMProxy(final Configuration configuration, final Class<T> protocol) throws IOException { return createRMProxy(configuration, protocol, INSTANCE); }
/** * Create a proxy to the ResourceManager for the specified protocol. * @param configuration Configuration with all the required information. * @param protocol Client protocol for which proxy is being requested. * @param <T> Type of proxy. * @return Proxy to the ResourceManager for the specified client protocol. * @throws IOException */ public static <T> T createRMProxy(final Configuration configuration, final Class<T> protocol) throws IOException { return createRMProxy(configuration, protocol, INSTANCE); }
@Override public ApplicationMasterProtocol run() throws Exception { return ClientRMProxy.createRMProxy(conf, ApplicationMasterProtocol.class, true); } });
@Override public ResourceManagerAdministrationProtocol run() throws Exception { return ClientRMProxy.createRMProxy(conf, ResourceManagerAdministrationProtocol.class); } });
@Override public ApplicationClientProtocol run() throws Exception { return ClientRMProxy.createRMProxy(conf, ApplicationClientProtocol.class); } });