The Tez UI relies on the Application Timeline Server whose role is as a backing store for the application data generated during the lifetime of a YARN application.
Tez provides its own UI that interfaces with the Application Timeline Server and displays both a live and historical view of the Tez application inside a Tez UI web application.
For information on how application-specific data ends up being displayed in the Tez UI, please refer to this User Guide
Requires: Tez 0.6.0 or above
For Tez to have a functional UI and for the History links to work correctly from the YARN ResourceManager UI, the following settings need to be enabled in tez-site.xml:
tez-site.xml ------------- ... <property> <description>Enable Tez to use the Timeline Server for History Logging</description> <name>tez.history.logging.service.class</name> <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value> </property> <property> <description>URL for where the Tez UI is hosted</description> <name>tez.tez-ui.history-url.base</name> <value>http://<webserver-host:9999/tez-ui/</value> </property> ...
The tez-ui.war can be obtained in 3 ways:
Once the tez-ui.war is available, you can extract the contents of the war and host them on any webserver. The Tez UI consists only of html, js and css files and does not require any complex server-side hosting logic.
By default, the Tez UI attempts to connect to Timeline Server using the same host as the Tez UI. For example, if the UI is hosted on localhost, the Timeline Server URL is assumed to be http(s)://localhost:8188 and the Resource manager web url is assumed to be http(s)://localhost:8088.
If the Timeline Server and/or Resource manager is hosted on a different host, the Tez UI needs corresponding changes to be configured in scripts/configs.js ( within the extracted tez-ui.war). Uncomment the following lines and set the hostname and port appropriately. “timelineBaseUrl” maps to YARN Timeline Server and “RMWebUrl” maps to YARN ResourceManager.
// timelineBaseUrl: 'http://localhost:8188', // RMWebUrl: 'http://localhost:8088',
Requires: Apache Hadoop 2.6.0 or above
The following configurations need to be setup in yarn-site.xml for correct functional behavior of the Timeline Server with respect to the Tez UI. Replace localhost with the actual hostname if running in a distributed setup.
yarn-site.xml ------------- ... <property> <description>Indicate to clients whether Timeline service is enabled or not. If enabled, the TimelineClient library used by end-users will post entities and events to the Timeline server.</description> <name>yarn.timeline-service.enabled</name> <value>true</value> </property> <property> <description>The hostname of the Timeline service web application.</description> <name>yarn.timeline-service.hostname</name> <value>localhost</value> </property> <property> <description>Enables cross-origin support (CORS) for web services where cross-origin web response headers are needed. For example, javascript making a web services request to the timeline server.</description> <name>yarn.timeline-service.http-cross-origin.enabled</name> <value>true</value> </property> <property> <description>Publish YARN information to Timeline Server</description> <name> yarn.resourcemanager.system-metrics-publisher.enabled</name> <value>true</value> </property> ...
For more detailed information (setup, configuration, deployment), please refer to the Apache Hadoop Documentation on the Application Timeline Server
For general information on the compatibility matrix of the Tez UI with YARN TimelineServer, please refer to the Tez - Timeline Server Guide