Skip to content

YARN-10020. Fix build instruction of hadoop-yarn-ui. #1750

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 18, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,13 @@ The YARN UI is an Ember based web-app that provides visualization of the applica

## Configurations

* You can point the UI to custom locations by setting the environment variables in `src/main/webapp/config/configs.env`
You can point the UI to custom locations by setting the environment variables in `src/main/webapp/config/configs.env`.

In order to make the UI running on Ember server (started by `yarn start`)
work with independently running ResouceManager,
you need to enable CORS by setting `hadoop.http.cross-origin.enabled` to true
and adding `org.apache.hadoop.security.HttpCrossOriginFilterInitializer`
to `hadoop.http.filter.initializers` in core-site.xml of the ResourceManager.

## Development

Expand All @@ -32,7 +38,7 @@ All the following commands must be run inside `src/main/webapp`.
You will need the following things properly installed on your computer.

* Install [Yarn](https://yarnpkg.com) v0.21.3
* Install [Bower](http://bower.io/) v1.7.7
* Install [Bower](http://bower.io/) v1.8.8
* Install all dependencies by running `yarn install` & `bower install`

### Running UI
Expand Down Expand Up @@ -62,3 +68,22 @@ YARN UI has replaced NPM with Yarn package manager. And hence Yarn would be used
### Adding new routes (pages), controllers, components etc.

* Use ember-cli blueprint generator - [Ember CLI](http://ember-cli.com/extending/#generators-and-blueprints)

### Building with Maven

[YARN-6278](https://issues.apache.org/jira/browse/YARN-6278)
added `yarn-ui` profile to pom.xml leveraging
[frontend-maven-plugin](https://github.com/eirslett/frontend-maven-plugin) which
automatically installs Node.js and Yarn locally under target/webapp directory.
After building yarn-ui by `mvn package -Pyarn-ui`, you can reuse
the locally installed Node.js and Yarn instead of manually installing them.

```
$ mvn package -Pyarn-ui
$ export PATH=$PWD/target/webapp/node:$PATH
$ export YARNJS=$PWD/target/webapp/node/yarn/dist/bin/yarn.js
$ cd src/main/webapp/
$ node $YARNJS install
$ node node_modules/.bin/bower install
$ node $YARNJS start
```