You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by sh...@apache.org on 2014/01/06 06:57:18 UTC
git commit: FALCON-64 Add example entity xmls in falcon package.
Contributed by Shwetha GS
Updated Branches:
refs/heads/master 2ded62914 -> dfe20ee7a
FALCON-64 Add example entity xmls in falcon package. Contributed by Shwetha GS
Project: http://git-wip-us.apache.org/repos/asf/incubator-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-falcon/commit/dfe20ee7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-falcon/tree/dfe20ee7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-falcon/diff/dfe20ee7
Branch: refs/heads/master
Commit: dfe20ee7a46a402ede1ed13bd474db37d4109c07
Parents: 2ded629
Author: Shwetha GS <sh...@gmail.com>
Authored: Mon Jan 6 11:27:11 2014 +0530
Committer: Shwetha GS <sh...@gmail.com>
Committed: Mon Jan 6 11:27:11 2014 +0530
----------------------------------------------------------------------
CHANGES.txt | 8 ++-
docs/src/site/twiki/InstallationSteps.twiki | 34 +++++++++++
pom.xml | 3 +-
src/main/assemblies/standalone-package.xml | 5 ++
src/main/examples/app/oozie-mr/workflow.xml | 63 ++++++++++++++++++++
src/main/examples/app/pig/wordcount.pig | 23 +++++++
src/main/examples/data/generate.sh | 60 +++++++++++++++++++
src/main/examples/entity/embedded-cluster.xml | 51 ++++++++++++++++
src/main/examples/entity/in-feed.xml | 39 ++++++++++++
src/main/examples/entity/oozie-mr-process.xml | 50 ++++++++++++++++
src/main/examples/entity/out-feed.xml | 39 ++++++++++++
src/main/examples/entity/pig-process.xml | 43 +++++++++++++
src/main/examples/entity/standalone-cluster.xml | 43 +++++++++++++
13 files changed, 457 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 87cdf71..299d9bf 100755
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -7,15 +7,17 @@ Trunk (Unreleased)
NEW FEATURES
IMPROVEMENTS
- FALCON-106 Falcon compilation fails for hadoop-2 profile. (Shwetha GS
- via Srikanth Sundarrajan)
-
+ FALCON-64 Add example entity xmls in falcon package. (Shwetha GS)
+
FALCON-66 Make oozie version change configurable. (Shwetha GS
via Srikanth Sundarrajan)
OPTIMIZATIONS
BUG FIXES
+ FALCON-106 Falcon compilation fails for hadoop-2 profile. (Shwetha GS
+ via Srikanth Sundarrajan)
+
FALCON-206 Process update for wf changes. (Shwetha GS)
FALCON-236 Falcon process output events which is optional should have at least one event
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/docs/src/site/twiki/InstallationSteps.twiki
----------------------------------------------------------------------
diff --git a/docs/src/site/twiki/InstallationSteps.twiki b/docs/src/site/twiki/InstallationSteps.twiki
index b03ad4e..ed3ac98 100644
--- a/docs/src/site/twiki/InstallationSteps.twiki
+++ b/docs/src/site/twiki/InstallationSteps.twiki
@@ -226,3 +226,37 @@ src/bin/pacakge.sh <<hadoop-version>> <<oozie-version>>
>> Falcon pacakge is available in <<falcon home>>/target/falcon-<<version>>-bin.tar.gz
>> Oozie pacakge is available in <<falcon home>>/target/oozie-3.3.2-distro.tar.gz
</verbatim>
+
+---+++ Running Examples using embedded package
+<verbatim>
+bin/falcon-start
+</verbatim>
+Make sure the hadoop and oozie endpoints are according to your setup in examples/entity/standalone-cluster.xml
+<verbatim>
+bin/falcon entity -submit -type cluster -file examples/entity/standalone-cluster.xml
+</verbatim>
+Submit input and output feeds:
+<verbatim>
+bin/falcon entity -submit -type feed -file examples/entity/in-feed.xml
+bin/falcon entity -submit -type feed -file examples/entity/out-feed.xml
+</verbatim>
+Set-up workflow for the process:
+<verbatim>
+hadoop fs -put examples/app /
+</verbatim>
+Submit and schedule the process:
+<verbatim>
+bin/falcon entity -submitAndSchedule -type process -file examples/entity/oozie-mr-process.xml
+bin/falcon entity -submitAndSchedule -type process -file examples/entity/pig-process.xml
+</verbatim>
+Generate input data:
+<verbatim>
+examples/data/generate.sh <<hdfs endpoint>>
+</verbatim>
+Get status of instances:
+<verbatim>
+bin/falcon instance -status -type process -name oozie-mr-process -start 2013-11-15T00:05Z -end 2013-11-15T01:00Z
+</verbatim>
+
+
+
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 49284a8..0226d69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -234,13 +234,14 @@
<artifactId>hadoop-yarn-server-nodemanager</artifactId>
<version>${hadoop.version}</version>
</dependency>
+
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>${hadoop.version}</version>
</dependency>
</dependencies>
- </dependencyManagement>
+ </dependencyManagement>
</profile>
<profile>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/assemblies/standalone-package.xml
----------------------------------------------------------------------
diff --git a/src/main/assemblies/standalone-package.xml b/src/main/assemblies/standalone-package.xml
index 8b35b0a..685fd5c 100644
--- a/src/main/assemblies/standalone-package.xml
+++ b/src/main/assemblies/standalone-package.xml
@@ -89,6 +89,11 @@
<directory>hadoop-dependencies/target/dependency</directory>
<outputDirectory>hadooplibs</outputDirectory>
</fileSet>
+
+ <fileSet>
+ <directory>src/main/examples</directory>
+ <outputDirectory>examples</outputDirectory>
+ </fileSet>
</fileSets>
<files>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/app/oozie-mr/workflow.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/app/oozie-mr/workflow.xml b/src/main/examples/app/oozie-mr/workflow.xml
new file mode 100644
index 0000000..c715c91
--- /dev/null
+++ b/src/main/examples/app/oozie-mr/workflow.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<workflow-app xmlns="uri:oozie:workflow:0.2" name="map-reduce-wf">
+ <start to="mr-node"/>
+ <action name="mr-node">
+ <map-reduce>
+ <job-tracker>${jobTracker}</job-tracker>
+ <name-node>${nameNode}</name-node>
+ <prepare>
+ <delete path="${outpath}"/>
+ </prepare>
+ <configuration>
+ <property>
+ <name>mapred.job.queue.name</name>
+ <value>${queueName}</value>
+ </property>
+ <property>
+ <name>mapred.mapper.class</name>
+ <value>org.apache.hadoop.mapred.lib.IdentityMapper</value>
+ </property>
+ <property>
+ <name>mapred.reducer.class</name>
+ <value>org.apache.hadoop.mapred.lib.IdentityReducer</value>
+ </property>
+ <property>
+ <name>mapred.map.tasks</name>
+ <value>1</value>
+ </property>
+ <property>
+ <name>mapred.input.dir</name>
+ <value>${inpaths}</value>
+ </property>
+ <property>
+ <name>mapred.output.dir</name>
+ <value>${outpath}</value>
+ </property>
+ </configuration>
+ </map-reduce>
+ <ok to="end"/>
+ <error to="fail"/>
+ </action>
+ <kill name="fail">
+ <message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
+ </kill>
+ <end name="end"/>
+</workflow-app>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/app/pig/wordcount.pig
----------------------------------------------------------------------
diff --git a/src/main/examples/app/pig/wordcount.pig b/src/main/examples/app/pig/wordcount.pig
new file mode 100644
index 0000000..190d2d4
--- /dev/null
+++ b/src/main/examples/app/pig/wordcount.pig
@@ -0,0 +1,23 @@
+/**
+ * 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.
+ */
+
+indata = LOAD '$inpaths' USING PigStorage() AS (words:chararray);
+tokdata = FOREACH indata GENERATE FLATTEN(TOKENIZE(words)) as word;
+grpdata = GROUP tokdata BY (word);
+finaldata = FOREACH grpdata GENERATE FLATTEN(group), COUNT(tokdata);
+STORE finaldata INTO '$outpath' USING PigStorage('\t');
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/data/generate.sh
----------------------------------------------------------------------
diff --git a/src/main/examples/data/generate.sh b/src/main/examples/data/generate.sh
new file mode 100755
index 0000000..0caadc4
--- /dev/null
+++ b/src/main/examples/data/generate.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+# 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.
+
+HDFS=$1
+if [ "${HDFS}"x == "x" ]
+then
+ echo "Usage ${0} <<hdfs-end-point>>"
+ exit 1
+fi
+echo "HDFS end point:" $HDFS
+
+PRG="${0}"
+
+while [ -h "${PRG}" ]; do
+ ls=`ls -ld "${PRG}"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "${PRG}"`/"$link"
+ fi
+done
+
+BASEDIR=`dirname ${PRG}`
+BASEDIR=`cd ${BASEDIR};pwd`
+
+rm -rf generated-data
+YEAR=`date +%Y`
+MONTH=`date +m`
+DAY=`date +%d`
+HOUR=`date +%H`
+
+DELIM='\t'
+input=(first second third fourth fifth)
+for MINUTE in `seq -w 00 59`
+do
+ mkdir -p generated-data/00/$MINUTE/
+ word=${input[$RANDOM % 5]}
+ cnt=`expr $RANDOM % 10`
+ echo -e "$word$DELIM$cnt" > generated-data/00/$MINUTE/data
+done
+
+hadoop fs -fs $HDFS -mkdir /data/in/2013/11/15/
+hadoop fs -put generated-data/00 /data/in/2013/11/15/
+rm -rf generated-data
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/entity/embedded-cluster.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/entity/embedded-cluster.xml b/src/main/examples/entity/embedded-cluster.xml
new file mode 100644
index 0000000..4edc9cb
--- /dev/null
+++ b/src/main/examples/entity/embedded-cluster.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+ -->
+
+<!--
+ Example cluster definition that can be used with the embedded
+ version of the falcon system started through mvn jetty:run
+
+ How to bring up the test falcon instance:
+
+ export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m" && mvn clean install
+ rm -rf target/store/*
+ rm -rf webapp/target/webapps/oozie/data/*
+ cd webapp
+ mvn jetty:run
+-->
+<cluster colo="local" description="" name="local" xmlns="uri:falcon:cluster:0.1">
+ <interfaces>
+ <interface type="readonly" endpoint="hftp://localhost:41110" version="1.1.2"/>
+
+ <interface type="write" endpoint="hdfs://localhost:41020" version="1.1.2"/>
+
+ <interface type="execute" endpoint="localhost:41021" version="1.1.2"/>
+
+ <interface type="workflow" endpoint="http://localhost:41000/oozie/" version="4.0.0"/>
+
+ <interface type="messaging" endpoint="tcp://localhost:61616?daemon=true" version="5.1.6"/>
+ </interfaces>
+ <locations>
+ <location name="staging" path="/projects/falcon/staging"/>
+ <location name="temp" path="/projects/falcon/tmp"/>
+ <location name="working" path="/projects/falcon/working"/>
+ </locations>
+ <properties>
+ </properties>
+</cluster>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/entity/in-feed.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/entity/in-feed.xml b/src/main/examples/entity/in-feed.xml
new file mode 100644
index 0000000..4c433cb
--- /dev/null
+++ b/src/main/examples/entity/in-feed.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+<feed description="input" name="in" xmlns="uri:falcon:feed:0.1">
+ <groups>input</groups>
+
+ <frequency>minutes(1)</frequency>
+ <timezone>UTC</timezone>
+ <late-arrival cut-off="hours(1)"/>
+
+ <clusters>
+ <cluster name="local">
+ <validity start="2013-01-01T00:00Z" end="2030-01-01T00:00Z"/>
+ <retention limit="hours(2)" action="delete"/>
+ </cluster>
+ </clusters>
+
+ <locations>
+ <location type="data" path="/data/in/${YEAR}/${MONTH}/${DAY}/${HOUR}/${MINUTE}"/>
+ </locations>
+
+ <ACL owner="testuser" group="group" permission="0x644"/>
+ <schema location="/schema/log/log.format.csv" provider="csv"/>
+</feed>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/entity/oozie-mr-process.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/entity/oozie-mr-process.xml b/src/main/examples/entity/oozie-mr-process.xml
new file mode 100644
index 0000000..c080436
--- /dev/null
+++ b/src/main/examples/entity/oozie-mr-process.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<process name="oozie-mr-process" xmlns="uri:falcon:process:0.1">
+ <clusters>
+ <cluster name="local">
+ <validity start="2013-11-15T00:05Z" end="2013-11-15T01:05Z"/>
+ </cluster>
+ </clusters>
+
+ <parallel>1</parallel>
+ <order>FIFO</order>
+ <frequency>minutes(5)</frequency>
+ <timezone>UTC</timezone>
+
+ <inputs>
+ <!-- In the workflow, the input paths will be available in a variable 'inpaths' -->
+ <input name="inpaths" feed="in" start="now(0,-5)" end="now(0,-1)"/>
+ </inputs>
+
+ <outputs>
+ <!-- In the workflow, the output path will be available in a variable 'outpath' -->
+ <output name="outpath" feed="out" instance="now(0,0)"/>
+ </outputs>
+
+ <properties>
+ <!-- In the workflow, these properties will be available with variable - key -->
+ <property name="queueName" value="default"/>
+ <!-- The schedule time available as a property in workflow -->
+ <property name="time" value="${instanceTime()}"/>
+ </properties>
+
+ <workflow engine="oozie" path="/app/oozie-mr"/>
+</process>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/entity/out-feed.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/entity/out-feed.xml b/src/main/examples/entity/out-feed.xml
new file mode 100644
index 0000000..4275df8
--- /dev/null
+++ b/src/main/examples/entity/out-feed.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+<feed description="output" name="out" xmlns="uri:falcon:feed:0.1">
+ <groups>output</groups>
+
+ <frequency>minutes(5)</frequency>
+ <timezone>UTC</timezone>
+ <late-arrival cut-off="hours(1)"/>
+
+ <clusters>
+ <cluster name="local">
+ <validity start="2013-01-01T00:00Z" end="2030-01-01T00:00Z"/>
+ <retention limit="hours(2)" action="delete"/>
+ </cluster>
+ </clusters>
+
+ <locations>
+ <location type="data" path="/data/out/${YEAR}/${MONTH}/${DAY}/${HOUR}"/>
+ </locations>
+
+ <ACL owner="testuser" group="group" permission="0x644"/>
+ <schema location="/schema/out/out.format.csv" provider="csv"/>
+</feed>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/entity/pig-process.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/entity/pig-process.xml b/src/main/examples/entity/pig-process.xml
new file mode 100644
index 0000000..0dbb558
--- /dev/null
+++ b/src/main/examples/entity/pig-process.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+
+<process name="pig-process" xmlns="uri:falcon:process:0.1">
+ <clusters>
+ <cluster name="local">
+ <validity start="2013-11-15T00:05Z" end="2013-11-15T01:05Z"/>
+ </cluster>
+ </clusters>
+
+ <parallel>1</parallel>
+ <order>FIFO</order>
+ <frequency>minutes(5)</frequency>
+ <timezone>UTC</timezone>
+
+ <inputs>
+ <!-- In the pig script, the input paths will be available in a variable 'inpaths' -->
+ <input name="input" feed="in" start="now(0,-5)" end="now(0,-1)"/>
+ </inputs>
+
+ <outputs>
+ <!-- In the pig script, the output path will be available in a variable 'outpath' -->
+ <output name="output" feed="out" instance="now(0,0)"/>
+ </outputs>
+
+ <workflow engine="pig" path="/app/pig/wordcount.pig"/>
+</process>
http://git-wip-us.apache.org/repos/asf/incubator-falcon/blob/dfe20ee7/src/main/examples/entity/standalone-cluster.xml
----------------------------------------------------------------------
diff --git a/src/main/examples/entity/standalone-cluster.xml b/src/main/examples/entity/standalone-cluster.xml
new file mode 100644
index 0000000..e5790d4
--- /dev/null
+++ b/src/main/examples/entity/standalone-cluster.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+ -->
+
+<!--
+ Example cluster definition that can be used with falcon and standalone
+ hadoop and oozie instances
+-->
+<cluster colo="local" description="Standalone cluster" name="local" xmlns="uri:falcon:cluster:0.1">
+ <interfaces>
+ <interface type="readonly" endpoint="hftp://localhost:50010" version="1.1.2"/>
+
+ <interface type="write" endpoint="hdfs://localhost:8020" version="1.1.2"/>
+
+ <interface type="execute" endpoint="localhost:8021" version="1.1.2"/>
+
+ <interface type="workflow" endpoint="http://localhost:11000/oozie/" version="4.0.0"/>
+
+ <interface type="messaging" endpoint="tcp://localhost:61616?daemon=true" version="5.1.6"/>
+ </interfaces>
+ <locations>
+ <location name="staging" path="/projects/falcon/staging"/>
+ <location name="temp" path="/projects/falcon/tmp"/>
+ <location name="working" path="/projects/falcon/working"/>
+ </locations>
+ <properties>
+ </properties>
+</cluster>