This is the repository for the Workflow Manager web UI . This has Dashboard where Oozie jobs can be monitored, run, stip etc..It also has a desiger which allows you to develop a oozie work flow in a graphical interface.
Technologies Used. it uses Ember as underline JS framework. JsPlbumb for designer. Dagre for layout in designer. bootstrap for css.
If you are not building using maven, you will need the following things properly installed on your computer. Maven build would download and setup the prerequisites for you.
git clone <repository-url>
this repositorymvn clean package
in the main directory, just do mvn install.
Go to folder under wfmanager\src\main\resources\ui.
npm install
bower install
In development mode (and in non Ambari View mode), you might want to connect the UI with already running remote/local oozie server. To do so you can run the proxy so that UI can route the requests through it.
node proxy.js <local-port> <remote-oozie-host> <remote-oozie-port>
By default local port is 11002
, default oozie host is localhost
with default port as 11000
node proxy.js
Proxy on: localhost:11002 -> localhost:11000
If you want to use different local port (other than 11002
) then update the API_URL in environment.js
accordingly.
ember server
mvn clean package
(Build web ui and puts into /dist)mvn test -Pproxy
(start proxy for the oozie API)mvn test -Pserver
(does ember server)ssh root@127.0.0.1 -p 2222
to get into Sandboxguest
user using su - guest
tar -xvf /usr/hdp/current/oozie-client/doc/oozie-examples.tar.gz
find ./examples/apps/ -iname "job.properties" | xargs sed -i 's/localhost/sandbox.hortonworks.com/g'
export HADOOP_USER_NAME=guest
hdfs dfs -put ./examples/ /user/guest/examples
export OOZIE_USER_NAME=guest
find ./examples/apps/ -iname "job.properties" | xargs -i oozie job -oozie http://localhost:11000/oozie -config {} -run
This UI can be built and deployed as an Ambari view. Below are the steps to build the Ambari view.
cd oozie-ambari-view
mvn clean package
- This builds target/oozie-ambari-view-0.0.0.1-SNAPSHOT.jar
cp target/oozie-ambari-view-0.0.0.1-SNAPSHOT.jar </var/lib/ambari-server/resources/views/>
Make use of the many generators for code, try ember help generate
for more details
ember test
ember test --server
How the code is organized. There are 2 main components- Dashboard and Designer.
Designer
Dashboard.