private void prepareTimelineDomain() { TimelineClient timelineClient = null; if (jstormClientContext.conf.getBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, YarnConfiguration.DEFAULT_TIMELINE_SERVICE_ENABLED)) { timelineClient = TimelineClient.createTimelineClient(); timelineClient.init(jstormClientContext.conf); timelineClient.start(); } else { LOG.warn("Cannot put the domain " + jstormClientContext.domainId + " because the timeline service is not enabled"); return; } try { TimelineDomain domain = new TimelineDomain(); domain.setId(jstormClientContext.domainId); domain.setReaders( jstormClientContext.viewACLs != null && jstormClientContext.viewACLs.length() > 0 ? jstormClientContext.viewACLs : JOYConstants.BLANK); domain.setWriters( jstormClientContext.modifyACLs != null && jstormClientContext.modifyACLs.length() > 0 ? jstormClientContext.modifyACLs : JOYConstants.BLANK); timelineClient.putDomain(domain); LOG.info("Put the timeline domain: " + TimelineUtils.dumpTimelineRecordtoJSON(domain)); } catch (Exception e) { LOG.error("Error when putting the timeline domain", e); } finally { timelineClient.stop(); } }
@Override public TimelinePutResponse run() throws Exception { return timelineClient.putEntities(entity); } });
@Override public Void run() throws Exception { if (conf.getBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, YarnConfiguration.DEFAULT_TIMELINE_SERVICE_ENABLED)) { // Creating the Timeline Client timelineClient = TimelineClient.createTimelineClient(); timelineClient.init(conf); timelineClient.start(); } else { timelineClient = null; LOG.warn("Timeline service is not enabled"); } return null; } });
TimelineClient client = TimelineClient.createTimelineClient(); client.init(conf); client.start(); try { if (UserGroupInformation.isSecurityEnabled() && conf.getBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, false)) { Token<TimelineDelegationTokenIdentifier> token = client.getDelegationToken( UserGroupInformation.getCurrentUser().getUserName()); UserGroupInformation.getCurrentUser().addToken(token); TimelinePutResponse response = client.putEntities( entities.getEntities().toArray( new TimelineEntity[entities.getEntities().size()])); for (TimelineDomain domain : domains.getDomains()) { try { client.putDomain(domain); } catch (Exception e) { LOG.error("Error when putting domain " + domain.getId(), e); LOG.error("Error when putting the timeline data", e); } finally { client.stop();
public static Token<TimelineDelegationTokenIdentifier> maybeAddTimelineToken( Configuration conf, Credentials credentials) throws IOException, YarnException { if (conf.getBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, false)) { LOG.debug("Timeline service enabled -fetching token"); try(TimelineClient timelineClient = TimelineClient.createTimelineClient()) { timelineClient.init(conf); timelineClient.start(); Token<TimelineDelegationTokenIdentifier> token = timelineClient.getDelegationToken( CredentialUtils.getRMPrincipal(conf)); credentials.addToken(token.getService(), token); return token; } } else { LOG.debug("Timeline service is disabled"); return null; } }
timelineClient = TimelineClient.createTimelineClient(); timelineClient.init(conf); } else { this.timelineClient = null;
TimelineClient createTimelineClient() throws IOException, YarnException { return TimelineClient.createTimelineClient(); }
@Override public void run() { try { executor.shutdown(); executor.awaitTermination(WAIT_TIME, TimeUnit.SECONDS); executor = null; } catch(InterruptedException ie) { /* ignore */ } timelineClient.stop(); } });
if (timelineClient == null) { timelineClient = createTimelineClient(); timelineClient.init(getConfig()); timelineClient.start(); return timelineClient.getDelegationToken(timelineDTRenewer); } catch (Exception e) { if (timelineServiceBestEffort) {
@Override protected void serviceStart() throws Exception { if (timelineClient != null) { timelineClient.start();
timelineServiceEnabled = true; timelineClient = createTimelineClient(); timelineClient.init(conf); timelineDTRenewer = getTimelineDelegationTokenRenewer(conf); timelineService = TimelineUtils.buildTimelineTokenService(conf);
httpUserClient.getDelegationToken(httpUser.getShortUserName()); Assert.assertNotNull(token); TimelineDelegationTokenIdentifier tDT = token.decodeIdentifier(); long renewTime1 = httpUserClient.renewDelegationToken(token); Thread.sleep(100); token.setService(new Text()); long renewTime2 = httpUserClient.renewDelegationToken(token); Assert.assertTrue(renewTime1 < renewTime2); httpUserClient.cancelDelegationToken(token); httpUserClient.renewDelegationToken(token); Assert.fail(); } catch (Exception e) { token = fooUserClient.getDelegationToken(httpUser.getShortUserName()); Assert.assertNotNull(token); tDT = token.decodeIdentifier(); renewTime1 = httpUserClient.renewDelegationToken(tokenToRenew); renewTime2 = httpUserClient.renewDelegationToken(tokenToRenew); Assert.assertTrue(renewTime1 < renewTime2); fooUserClient.cancelDelegationToken(tokenToRenew); httpUserClient.renewDelegationToken(tokenToRenew); Assert.fail();
private void createTimelineDomain(String domainId, String readers, String writers) throws Exception { TimelineDomain timelineDomain = new TimelineDomain(); timelineDomain.setId(domainId); timelineDomain.setReaders(readers); timelineDomain.setWriters(writers); timelineClient.putDomain(timelineDomain); LOG.info("ATS domain created:" + domainId + "(" + readers + "," + writers + ")"); }
@VisibleForTesting org.apache.hadoop.security.token.Token<TimelineDelegationTokenIdentifier> getTimelineDelegationToken() throws IOException, YarnException { try { return timelineClient.getDelegationToken(timelineDTRenewer); } catch (Exception e ) { if (timelineServiceBestEffort) { LOG.warn("Failed to get delegation token from the timeline server: " + e.getMessage()); return null; } throw e; } }
TimelineClient client = TimelineClient.createTimelineClient(); client.init(conf); client.start(); try { if (UserGroupInformation.isSecurityEnabled() && conf.getBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, false)) { Token<TimelineDelegationTokenIdentifier> token = client.getDelegationToken( UserGroupInformation.getCurrentUser().getUserName()); UserGroupInformation.getCurrentUser().addToken(token); TimelinePutResponse response = client.putEntities( entities.getEntities().toArray( new TimelineEntity[entities.getEntities().size()])); for (TimelineDomain domain : domains.getDomains()) { try { client.putDomain(domain); } catch (Exception e) { LOG.error("Error when putting domain " + domain.getId(), e); LOG.error("Error when putting the timeline data", e); } finally { client.stop();
timelineClient = TimelineClient.createTimelineClient(); timelineClient.init(yarnConf); timelineClient.start();
public static Token<TimelineDelegationTokenIdentifier> maybeAddTimelineToken( Configuration conf, Credentials credentials) throws IOException, YarnException { if (conf.getBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, false)) { LOG.debug("Timeline service enabled -fetching token"); try(TimelineClient timelineClient = TimelineClient.createTimelineClient()) { timelineClient.init(conf); timelineClient.start(); Token<TimelineDelegationTokenIdentifier> token = timelineClient.getDelegationToken( CredentialUtils.getRMPrincipal(conf)); credentials.addToken(token.getService(), token); return token; } } else { LOG.debug("Timeline service is disabled"); return null; } }
timelineClient = TimelineClient.createTimelineClient(); timelineClient.init(conf); } else { this.timelineClient = null;
TimelineClient createTimelineClient() throws IOException, YarnException { return TimelineClient.createTimelineClient(); }