From 5326d0f76c83d869b7201dd0ec96b4519941ce3f Mon Sep 17 00:00:00 2001 From: Rohith Sharma K S Date: Sun, 17 Dec 2017 21:54:34 +0530 Subject: [PATCH] YARN-7662 --- .../apache/hadoop/yarn/conf/YarnConfiguration.java | 47 +++++++++++++++++++++- .../hadoop/yarn/webapp/util/WebAppUtils.java | 39 ++++++++++++++---- .../src/main/resources/yarn-default.xml | 24 +++++++++++ .../security/TestTimelineAuthFilterForV2.java | 3 +- .../AbstractTimelineReaderHBaseTestBase.java | 2 +- .../collector/NodeTimelineCollectorManager.java | 15 ++++--- .../reader/TimelineReaderServer.java | 15 ++++--- .../reader/TestTimelineReaderServer.java | 6 +-- .../reader/TestTimelineReaderWebServices.java | 2 +- .../src/site/markdown/TimelineServiceV2.md | 6 +-- 10 files changed, 130 insertions(+), 29 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index e57f988ad38..4fdd61ec106 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -2389,6 +2389,9 @@ public static boolean isAclEnabled(Configuration conf) { /** * Settings for timeline service v2.0. */ + public static final String TIMELINE_SERVICE_READER_PREFIX = + TIMELINE_SERVICE_PREFIX + "reader."; + public static final String TIMELINE_SERVICE_WRITER_CLASS = TIMELINE_SERVICE_PREFIX + "writer.class"; @@ -2397,7 +2400,7 @@ public static boolean isAclEnabled(Configuration conf) { + ".storage.HBaseTimelineWriterImpl"; public static final String TIMELINE_SERVICE_READER_CLASS = - TIMELINE_SERVICE_PREFIX + "reader.class"; + TIMELINE_SERVICE_READER_PREFIX + "class"; public static final String DEFAULT_TIMELINE_SERVICE_READER_CLASS = "org.apache.hadoop.yarn.server.timelineservice.storage" + @@ -3422,6 +3425,48 @@ public static boolean areNodeLabelsEnabled( public static final String TIMELINE_XFS_OPTIONS = TIMELINE_XFS_PREFIX + "xframe-options"; + /** + * Settings for timeline reader. + */ + public static final String TIMELINE_SERVICE_READER_BIND_HOST = + TIMELINE_SERVICE_READER_PREFIX + "bind-host"; + + public static final String TIMELINE_SERVICE_READER_WEBAPP_ADDRESS = + TIMELINE_SERVICE_READER_PREFIX + "webapp.address"; + public static final String DEFAULT_TIMELINE_SERVICE_READER_WEBAPP_ADDRESS = + DEFAULT_TIMELINE_SERVICE_WEBAPP_ADDRESS; + + public static final String TIMELINE_SERVICE_READER_WEBAPP_HTTPS_ADDRESS = + TIMELINE_SERVICE_READER_PREFIX + "webapp.https.address"; + public static final String + DEFAULT_TIMELINE_SERVICE_READER_WEBAPP_HTTPS_ADDRESS = + DEFAULT_TIMELINE_SERVICE_WEBAPP_HTTPS_ADDRESS; + + /** + * Marked collector properties as Private since it run as auxillary service. + */ + public static final String TIMELINE_SERVICE_COLLECTOR_PREFIX = + TIMELINE_SERVICE_PREFIX + "collector."; + + @Private + public static final String TIMELINE_SERVICE_COLLECTOR_BIND_HOST = + TIMELINE_SERVICE_COLLECTOR_PREFIX + "bind-host"; + public static final String DEFAULT_TIMELINE_SERVICE_COLLECTOR_BIND_HOST = + DEFAULT_TIMELINE_SERVICE_BIND_HOST; + + @Private + public static final String TIMELINE_SERVICE_COLLECTOR_WEBAPP_ADDRESS = + TIMELINE_SERVICE_COLLECTOR_PREFIX + "webapp.address"; + public static final String DEFAULT_TIMELINE_SERVICE_COLLECTOR_WEBAPP_ADDRESS = + DEFAULT_TIMELINE_SERVICE_WEBAPP_ADDRESS; + + @Private + public static final String TIMELINE_SERVICE_COLLECTOR_WEBAPP_HTTPS_ADDRESS = + TIMELINE_SERVICE_COLLECTOR_PREFIX + "webapp.https.address"; + public static final String + DEFAULT_TIMELINE_SERVICE_COLLECTOR_WEBAPP_HTTPS_ADDRESS = + DEFAULT_TIMELINE_SERVICE_WEBAPP_HTTPS_ADDRESS; + public YarnConfiguration() { super(); } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java index 446f0a1bc47..e62bf104ae4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java @@ -314,16 +314,41 @@ public static String getNMWebAppURLWithoutScheme(Configuration conf) { } public static String getAHSWebAppURLWithoutScheme(Configuration conf) { - return getTimelineReaderWebAppURL(conf); - } - - public static String getTimelineReaderWebAppURL(Configuration conf) { if (YarnConfiguration.useHttps(conf)) { return conf.get(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_HTTPS_ADDRESS, - YarnConfiguration.DEFAULT_TIMELINE_SERVICE_WEBAPP_HTTPS_ADDRESS); + YarnConfiguration.DEFAULT_TIMELINE_SERVICE_WEBAPP_HTTPS_ADDRESS); } else { return conf.get(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, - YarnConfiguration.DEFAULT_TIMELINE_SERVICE_WEBAPP_ADDRESS); + YarnConfiguration.DEFAULT_TIMELINE_SERVICE_WEBAPP_ADDRESS); + } + } + + public static String getTimelineReaderWebAppURLWithoutScheme( + Configuration conf) { + if (YarnConfiguration.useHttps(conf)) { + return conf + .get(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_HTTPS_ADDRESS, + YarnConfiguration. + DEFAULT_TIMELINE_SERVICE_READER_WEBAPP_HTTPS_ADDRESS); + } else { + return conf.get(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_ADDRESS, + YarnConfiguration. + DEFAULT_TIMELINE_SERVICE_READER_WEBAPP_ADDRESS); + } + } + + public static String getTimelineCollectorWebAppURLWithoutScheme( + Configuration conf) { + if (YarnConfiguration.useHttps(conf)) { + return conf.get( + YarnConfiguration.TIMELINE_SERVICE_COLLECTOR_WEBAPP_HTTPS_ADDRESS, + YarnConfiguration. + DEFAULT_TIMELINE_SERVICE_COLLECTOR_WEBAPP_HTTPS_ADDRESS); + } else { + return conf + .get(YarnConfiguration.TIMELINE_SERVICE_COLLECTOR_WEBAPP_ADDRESS, + YarnConfiguration. + DEFAULT_TIMELINE_SERVICE_COLLECTOR_WEBAPP_ADDRESS); } } @@ -342,7 +367,7 @@ public static String getURLWithScheme(String schemePrefix, String url) { return schemePrefix + url; } } - + public static String getRunningLogURL( String nodeHttpAddress, String containerId, String user) { if (nodeHttpAddress == null || nodeHttpAddress.isEmpty() || diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index 192f62e19e3..56bc47a11ae 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -3599,4 +3599,28 @@ 0,1 + + The http address of the timeline reader web application. + yarn.timeline-service.reader.webapp.address + ${yarn.timeline-service.webapp.address} + + + + The https address of the timeline reader web application. + yarn.timeline-service.reader.webapp.https.address + ${yarn.timeline-service.webapp.https.address} + + + + + The actual address the server will bind to. If this optional address is + set, the webapp servers will bind to this address and the port specified in + yarn.timeline-service.reader.webapp.address. + This is most useful for making the service listen to all interfaces by setting to + 0.0.0.0. + + yarn.timeline-service.reader.bind-host + + + diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/security/TestTimelineAuthFilterForV2.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/security/TestTimelineAuthFilterForV2.java index 75f17fb3967..bb511d8178a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/security/TestTimelineAuthFilterForV2.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/security/TestTimelineAuthFilterForV2.java @@ -162,7 +162,8 @@ public static void setup() { conf.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 2.0f); conf.setClass(YarnConfiguration.TIMELINE_SERVICE_WRITER_CLASS, FileSystemTimelineWriterImpl.class, TimelineWriter.class); - conf.set(YarnConfiguration.TIMELINE_SERVICE_BIND_HOST, "localhost"); + conf.set(YarnConfiguration.TIMELINE_SERVICE_READER_BIND_HOST, + "localhost"); conf.set(FileSystemTimelineWriterImpl.TIMELINE_SERVICE_STORAGE_DIR_ROOT, TEST_ROOT_DIR.getAbsolutePath()); conf.set("hadoop.proxyuser.HTTP.hosts", "*"); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/AbstractTimelineReaderHBaseTestBase.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/AbstractTimelineReaderHBaseTestBase.java index 3519c3f3bf2..471fb6c36f3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/AbstractTimelineReaderHBaseTestBase.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/AbstractTimelineReaderHBaseTestBase.java @@ -79,7 +79,7 @@ protected static void initialize() throws Exception { Configuration config = util.getConfiguration(); config.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true); config.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 2.0f); - config.set(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, + config.set(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_ADDRESS, "localhost:0"); config.set(YarnConfiguration.RM_CLUSTER_ID, "cluster1"); config.set(YarnConfiguration.TIMELINE_SERVICE_READER_CLASS, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/NodeTimelineCollectorManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/NodeTimelineCollectorManager.java index 68a68f0ded5..c8dbd596e49 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/NodeTimelineCollectorManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/NodeTimelineCollectorManager.java @@ -91,6 +91,8 @@ static final String COLLECTOR_MANAGER_ATTR_KEY = "collector.manager"; + private String webAppURLWithoutScheme; + @VisibleForTesting protected NodeTimelineCollectorManager() { this(true); @@ -109,6 +111,8 @@ protected void serviceInit(Configuration conf) throws Exception { tokenRenewInterval = conf.getLong( YarnConfiguration.TIMELINE_DELEGATION_TOKEN_RENEW_INTERVAL, YarnConfiguration.DEFAULT_TIMELINE_DELEGATION_TOKEN_RENEW_INTERVAL); + webAppURLWithoutScheme = + WebAppUtils.getTimelineCollectorWebAppURLWithoutScheme(conf); super.serviceInit(conf); } @@ -145,10 +149,7 @@ protected void serviceStart() throws Exception { private void doSecureLogin() throws IOException { Configuration conf = getConfig(); - InetSocketAddress addr = NetUtils.createSocketAddr(conf.getTrimmed( - YarnConfiguration.TIMELINE_SERVICE_BIND_HOST, - YarnConfiguration.DEFAULT_TIMELINE_SERVICE_BIND_HOST), 0, - YarnConfiguration.TIMELINE_SERVICE_BIND_HOST); + InetSocketAddress addr = NetUtils.createSocketAddr(webAppURLWithoutScheme); SecurityUtil.login(conf, YarnConfiguration.TIMELINE_SERVICE_KEYTAB, YarnConfiguration.TIMELINE_SERVICE_PRINCIPAL, addr.getHostName()); } @@ -277,8 +278,10 @@ private void startWebApp() { initializers, defaultInitializers, tokenMgrService); TimelineServerUtils.setTimelineFilters( conf, initializers, defaultInitializers); - String bindAddress = conf.get(YarnConfiguration.TIMELINE_SERVICE_BIND_HOST, - YarnConfiguration.DEFAULT_TIMELINE_SERVICE_BIND_HOST) + ":0"; + String bindAddress = + conf.get(YarnConfiguration.TIMELINE_SERVICE_COLLECTOR_BIND_HOST, + YarnConfiguration.DEFAULT_TIMELINE_SERVICE_COLLECTOR_BIND_HOST) + + ":0"; try { HttpServer2.Builder builder = new HttpServer2.Builder() .setName("timeline") diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java index 5c049eaac90..397c1d3ec27 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java @@ -28,6 +28,7 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.http.HttpServer2; +import org.apache.hadoop.net.NetUtils; import org.apache.hadoop.security.HttpCrossOriginFilterInitializer; import org.apache.hadoop.security.SecurityUtil; import org.apache.hadoop.service.CompositeService; @@ -63,6 +64,8 @@ private HttpServer2 readerWebServer; private TimelineReaderManager timelineReaderManager; + private String webAppURLWithoutScheme; + public TimelineReaderServer() { super(TimelineReaderServer.class.getName()); @@ -73,10 +76,10 @@ protected void serviceInit(Configuration conf) throws Exception { if (!YarnConfiguration.timelineServiceV2Enabled(conf)) { throw new YarnException("timeline service v.2 is not enabled"); } - InetSocketAddress bindAddr = conf.getSocketAddr( - YarnConfiguration.TIMELINE_SERVICE_ADDRESS, - YarnConfiguration.DEFAULT_TIMELINE_SERVICE_ADDRESS, - YarnConfiguration.DEFAULT_TIMELINE_SERVICE_PORT); + webAppURLWithoutScheme = + WebAppUtils.getTimelineReaderWebAppURLWithoutScheme(conf); + InetSocketAddress bindAddr = + NetUtils.createSocketAddr(webAppURLWithoutScheme); // Login from keytab if security is enabled. try { SecurityUtil.login(conf, YarnConfiguration.TIMELINE_SERVICE_KEYTAB, @@ -171,8 +174,8 @@ private void startTimelineReaderWebApp() { Configuration conf = getConfig(); addFilters(conf); String bindAddress = WebAppUtils.getWebAppBindURL(conf, - YarnConfiguration.TIMELINE_SERVICE_BIND_HOST, - WebAppUtils.getTimelineReaderWebAppURL(conf)); + YarnConfiguration.TIMELINE_SERVICE_READER_BIND_HOST, + webAppURLWithoutScheme); LOG.info("Instantiating TimelineReaderWebApp at " + bindAddress); try { HttpServer2.Builder builder = new HttpServer2.Builder() diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderServer.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderServer.java index bb96f37bc4e..6fc46cc7b03 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderServer.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderServer.java @@ -37,7 +37,7 @@ public void testStartStopServer() throws Exception { Configuration config = new YarnConfiguration(); config.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true); config.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 2.0f); - config.set(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, + config.set(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_ADDRESS, "localhost:0"); config.setClass(YarnConfiguration.TIMELINE_SERVICE_READER_CLASS, FileSystemTimelineReaderImpl.class, TimelineReader.class); @@ -61,7 +61,7 @@ public void testTimelineReaderServerWithInvalidTimelineReader() { Configuration conf = new YarnConfiguration(); conf.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true); conf.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 2.0f); - conf.set(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, + conf.set(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_ADDRESS, "localhost:0"); conf.set(YarnConfiguration.TIMELINE_SERVICE_READER_CLASS, Object.class.getName()); @@ -75,7 +75,7 @@ public void testTimelineReaderServerWithNonexistentTimelineReader() { Configuration conf = new YarnConfiguration(); conf.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true); conf.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 2.0f); - conf.set(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, + conf.set(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_ADDRESS, "localhost:0"); conf.set(YarnConfiguration.TIMELINE_SERVICE_READER_CLASS, nonexistentTimelineReaderClass); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServices.java index f760834bd57..03939ada8a5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServices.java @@ -84,7 +84,7 @@ public void init() throws Exception { Configuration config = new YarnConfiguration(); config.setBoolean(YarnConfiguration.TIMELINE_SERVICE_ENABLED, true); config.setFloat(YarnConfiguration.TIMELINE_SERVICE_VERSION, 2.0f); - config.set(YarnConfiguration.TIMELINE_SERVICE_WEBAPP_ADDRESS, + config.set(YarnConfiguration.TIMELINE_SERVICE_READER_WEBAPP_ADDRESS, "localhost:0"); config.set(YarnConfiguration.RM_CLUSTER_ID, "cluster1"); config.setClass(YarnConfiguration.TIMELINE_SERVICE_READER_CLASS, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/TimelineServiceV2.md b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/TimelineServiceV2.md index 7c51ce05f5b..cfde0cafa51 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/TimelineServiceV2.md +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/TimelineServiceV2.md @@ -133,9 +133,9 @@ New configuration parameters that are introduced with v.2 are marked bold. | Configuration Property | Description | |:---- |:---- | | `yarn.timeline-service.hostname` | The hostname of the Timeline service web application. Defaults to `0.0.0.0` | -| `yarn.timeline-service.address` | Address for the Timeline server to start the RPC server. Defaults to `${yarn.timeline-service.hostname}:10200`. | -| `yarn.timeline-service.webapp.address` | The http address of the Timeline service web application. Defaults to `${yarn.timeline-service.hostname}:8188`. | -| `yarn.timeline-service.webapp.https.address` | The https address of the Timeline service web application. Defaults to `${yarn.timeline-service.hostname}:8190`. | +| `yarn.timeline-service.reader.webapp.address` | The http address of the Timeline Reader web application. Defaults to `${yarn.timeline-service.hostname}:8188`. | +| `yarn.timeline-service.reader.webapp.https.address` | The https address of the Timeline Reader web application. Defaults to `${yarn.timeline-service.hostname}:8190`. | +| `yarn.timeline-service.reader.bind-host` | The actual address the timeline reader will bind to. If this optional address is set, webapp servers will bind to this address and the port specified in yarn.timeline-service.reader.webapp.address. This is most useful for making the service listen on all interfaces by setting to 0.0.0.0. | | **`yarn.timeline-service.hbase.configuration.file`** | Optional URL to an hbase-site.xml configuration file to be used to connect to the timeline-service hbase cluster. If empty or not specified, then the HBase configuration will be loaded from the classpath. When specified the values in the specified configuration file will override those from the ones that are present on the classpath. Defaults to `null`. | | **`yarn.timeline-service.writer.flush-interval-seconds`** | The setting that controls how often the timeline collector flushes the timeline writer. Defaults to `60`. | | **`yarn.timeline-service.app-collector.linger-period.ms`** | Time period till which the application collector will be alive in NM, after the application master container finishes. Defaults to `1000` (1 second). | -- 2.13.6 (Apple Git-96)