blob: e3d98f52658b616612d3822adb0839fafa591194 [file] [log] [blame]
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
Configurations
--------------
For the UI to work as expected with all the required data, the following configuration options
should be set.
In tez-site.xml
* tez.runtime.convert.user-payload.to.history-text
Should be enabled to get the configuration options. If enabled, the config options are set
as userpayload per input/output.
In yarn-site.xml
* yarn.timeline-service.http-cross-origin.enabled
Enable CORS in timeline.
* yarn.resourcemanager.system-metrics-publisher.enabled
Enable generic history service in timeline server
* yarn.timeline-service.enabled
Enabled the timeline server for logging details
* yarn.timeline-service.webapp.address
Value must be the IP:PORT on which timeline server is running
In configs.js
* Both timeline and RM base URLs can be customized in app/scripts/configs.js. By default their
values are http://localhost:8188 and http://localhost:8088 respectively.
* Visibility of table columns can be controlled using the column selector. Also an optional set
of file system counters can be made visible as columns for most of the tables. For adding more
counters refer configs.js.
* Timezone defaults to displaying timestamps in local timezone. For configuring to a specific
timezone, configure the timezone value referring to http://momentjs.com/timezone/docs/
for valid entries.
Building
---------
* To build UI without running test cases, run 'mvn clean package -DskipTests' in tez-ui directory.
* The build will create a war file inside tez-ui/target.
* UI build is part of tez build, refer BUILDING.txt in tez for more info.
Using the war
-------------
Remotely:
Use webfront tomcat manager to upload & deploy your war remotely.
Manually:
The war can be added to any tomcat instance.
1. Remove any old deployments in $TOMCAT_HOME/webapps
2. Copy the war to $TOMCAT_HOME/webapps
3. Restart tomcat and the war will get deployed. The content of the war would be available in
$TOMCAT_HOME/webapps/tez-ui-x.x.x-SNAPSHOT.
Using the Nodejs webserver
---------------------------
This provides an alternative way to host tez_ui. This should be used by
people who would like to host tez_ui by nodejs.
1. Install nodejs by package manager. Instructions for this are available at
"https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager"
2. Install server dependencies by running 'npm install' within 'tez-ui/tools/server'
3. Untar the tez-ui*.war file and copy the resulting directory to the
directory designated to be the document root of the web server.
4. Specify the document root directory and the port on which you want to run the
webserver in nodejs_conf.json. Currently, the conf file should be present in the
same directory as the nodejs_webserver).
The default values for the document root directory and the port are './public'
and 8080 respectively.
5. Start the nodejs_webserver.js by 'node nodejs_webserver.js'
Dev setup instructions
----------------------
Install the development dependencies nodejs, npm, grunt and bower.
From src/main/webapp directory run the following commands.
* npm install
* bower install
For development run 'grunt serve'. This runs a dev server on port 9001.
navigate to http://localhost:9001 if a browser does not open automatically.
Any changes made will be live-reloaded on the browser.