<?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.
-->

<cheatsheet title="MapReduce project run tutorial">
	<intro>
		<description>
			This tutorial informs you how to run your newly created
			MapReduce Project in one of two fashions: locally as a Java
			Application, or on a Hadoop Server.
		</description>
	</intro>
	<item title="Run as Java Application">
		<description>
			To run your MapReduce application locally, right-click on
			your Driver class in the Package Explorer and select <b>Run as
			/ Java Application</b>.
		</description>
	</item>
	<item title="Run on Hadoop Server">
		<description>
			To run your MapReduce application on a Hadoop server, right-click on
			your Driver class in the Package Explorer and select <b>Run as
			/ Run on Hadoop</b>.
		</description>
	</item>
</cheatsheet>
