
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-02-12
 Rendered using Reflow Maven Skin 1.1.1 (http://andriusvelykis.github.io/reflow-maven-skin)
-->
<html  xml:lang="en" lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>Apache Trafodion Uninstall</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<meta name="description" content="" />
		<meta http-equiv="content-language" content="en" />

		<link href="http://netdna.bootstrapcdn.com/bootswatch/2.3.2/cerulean/bootstrap.min.css" rel="stylesheet" />
		<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-responsive.min.css" rel="stylesheet" />
		<link href="./css/bootswatch.css" rel="stylesheet" />
		<link href="./css/reflow-skin.css" rel="stylesheet" />

		<link href="http://yandex.st/highlightjs/7.5/styles/default.min.css" rel="stylesheet" />

		<link href="./css/lightbox.css" rel="stylesheet" />

		<link href="./css/site.css" rel="stylesheet" />
		<link href="./css/print.css" rel="stylesheet" media="print" />

		<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
		<!--[if lt IE 9]>
			<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->



		<!-- Google Analytics -->
		<script type="text/javascript">

			var _gaq = _gaq || [];
			_gaq.push(['_setAccount', 'UA-72491210-1']);
			_gaq.push(['_trackPageview']);

			(function() {
				var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
				ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
				var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
			})();

		</script>
		</head>

	<body class="page-uninstall project-trafodion" data-spy="scroll" data-offset="60" data-target="#toc-scroll-target">

		<div class="navbar navbar-fixed-top">
			<div class="navbar-inner">
				<div class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#top-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<a class="brand" href="index.html">Apache <span class="color-highlight">Trafodion</span></a>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li ><a href="download.html" title="Download">Download</a></li>
							<li ><a href="contributing-redirect.html" title="Contributing">Contributing</a></li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Project Overview">Project Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="team-redirect.html" title="Team">Team</a></li>
									<li ><a href="presentations.html" title="Presentations">Presentations</a></li>
									<li ><a href="mail-lists.html" title="Mailing List">Mailing List</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="license.html" title="License">License</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Using <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="download.html" title="Download">Download</a></li>
									<li ><a href="install.html" title="Install">Install</a></li>
									<li class="active"><a href="" title="Uninstall">Uninstall</a></li>
									<li ><a href="management.html" title="Managing Trafodion">Managing Trafodion</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="documentation.html" title="Documentation">Documentation</a></li>
									<li ><a href="port-assignment.html" title="Port Assignments">Port Assignments</a></li>
									<li ><a href="faq.html" title="FAQ">FAQ</a></li>
									<li ><a href="release-notes.html" title="Release Notes">Release Notes</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Features <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a></li>
									<li ><a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a></li>
									<li ><a href="docs/odb_user/index.html" title="ODB">ODB</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a></li>
									<li ><a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a></li>
									<li ><a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://incubator.apache.org/projects/trafodion.html" title="Project Status" target="_blank" class="externalLink">Project Status</a></li>
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="Apache Foundation" target="_blank" class="externalLink">Apache Foundation</a></li>
									<li ><a href="http://www.apache.org/licenses/" title="Apache License" target="_blank" class="externalLink">Apache License</a></li>
									<li ><a href="http://www.apache.org/security/" title="Apache Security" target="_blank" class="externalLink">Apache Security</a></li>
									<li ><a href="http:divider" title=""></a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsorship" target="_blank" class="externalLink">Sponsorship</a></li>
									<li ><a href="http://www.apache.org/foundation/thanks.html" title="Thanks" target="_blank" class="externalLink">Thanks</a></li>
								</ul>
							</li>
						</ul>
					</div><!--/.nav-collapse -->
				</div>
			</div>
		</div>

	<div class="container">

	<!-- Masthead
	================================================== -->

	<header>
	<div class="jumbotron subhead">
		<div class="row" id="banner">
			<div class="span12">
				<div class="pull-left">
					<a href="index.html" id="bannerLeft"><h1>Apache <span class="color-highlight">Trafodion</span></h1></a>
					<p class="lead">Transactional SQL-on-Hadoop Database</p>
				</div>
				<div class="pull-right">
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li><a href="index.html" title="Trafodion">Trafodion</a></li>
				<li class="divider">/</li>
				<li>Uninstall</li>
			</ul>
		</div>
		<hr class="toc-separator" />
		<div id="toc-bar" class="navbar" data-spy="affix" data-offset-top="250">
			<div class="navbar-inner">
				<div id="toc-scroll-target" class="container">
					<a class="btn btn-navbar" data-toggle="collapse" data-target="#toc-nav-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</a>
					<div class="nav-collapse collapse" id="toc-nav-collapse">
						<ul id="toc" class="nav">
						<li class="dropdown">
							<a href="#remove_trafodion" title="Remove Trafodion" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Remove Trafodion <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#remove_trafodion" title="Remove Trafodion">Remove Trafodion</a></li>
								<li class="divider"></li>
								<li><a href="#Step_1_Stop_Trafodion" title="Step 1: Stop Trafodion">Step 1: Stop Trafodion</a></li>
								<li><a href="#Step_2_Run_trafodion_uninstaller" title="Step 2: Run trafodion_uninstaller">Step 2: Run trafodion_uninstaller</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#remove_hadoop_distribution" title="Remove Hadoop Distribution" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Remove Hadoop Distribution <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#remove_hadoop_distribution" title="Remove Hadoop Distribution">Remove Hadoop Distribution</a></li>
								<li class="divider"></li>
								<li><a href="#Remove_Cloudera" title="Remove Cloudera">Remove Cloudera</a></li>
								<li><a href="#Remove_Hortonworks" title="Remove Hortonworks">Remove Hortonworks</a></li>
								<li><a href="#Remove_MapR" title="Remove MapR">Remove MapR</a></li>

							</ul>
						</li>
						<li class="divider-vertical"></li>
						<li class="dropdown">
							<a href="#switch_hadoop_distribution" title="Switch Hadoop Distribution" class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#">Switch Hadoop Distribution <b class="caret"></b></a>
							<ul class="dropdown-menu" role="menu">
								<!-- Repeat the item, otherwise it is not clickable as the dropdown root -->
								<li><a href="#switch_hadoop_distribution" title="Switch Hadoop Distribution">Switch Hadoop Distribution</a></li>
								<li class="divider"></li>
								<li><a href="#Step_1_Shut_Down_Trafodion" title="Step 1: Shut Down Trafodion">Step 1: Shut Down Trafodion</a></li>
								<li><a href="#Step_2_Remove_Hadoop_Distribution" title="Step 2: Remove Hadoop Distribution">Step 2: Remove Hadoop Distribution</a></li>
								<li><a href="#Step_3_Reinstall_Hadoop_Distribution" title="Step 3: Reinstall Hadoop Distribution">Step 3: Reinstall Hadoop Distribution</a></li>
								<li><a href="#Step_4_Run_Trafodion_Installer" title="Step 4: Run Trafodion Installer">Step 4: Run Trafodion Installer</a></li>

							</ul>
						</li>
						</ul>
					</div>
				</div>
			</div>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- Licensed 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. --> 
<p>This page describes how to remove Trafodion and/or a Hadoop distribution.</p> 
<div class="page-header">
 <h1 id="remove_trafodion">Remove Trafodion</h1>
</div> 
<p>Use these instructions to remove Trafodion. </p> 
<table border="0" class="bodyTable table table-striped table-hover"> 
 <tbody> 
  <tr class="a"> 
   <td> <p><b>NOTE</b></p> <p>You do not need to use the <b><tt>trafodion_uninstaller</tt></b> script if upgrading Trafodion. Instead, use the <b><tt>trafodion_install</tt></b> script, which automatically upgrades the version of Trafodion. Please refer to <a href="install.html">Install</a> for further information.</p></td> 
  </tr> 
 </tbody> 
</table> 
<p>Run the commands from the first node of the cluster. Do not run them from a machine that is not part of the Trafodion cluster.</p> 
<div class="section"> 
 <h2 id="Step_1_Stop_Trafodion">Step 1: Stop Trafodion</h2> 
 <p>Do the following:</p> 
 <div class="source"> 
  <div class="source"> 
   <pre>su trafodion
cd $MY_SQROOT/sql/scripts or cds
sqstop
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Step_2_Run_trafodion_uninstaller">Step 2: Run <b><tt>trafodion_uninstaller</tt></b></h2> 
 <p><b><tt>trafodion_uninstaller</tt></b> accepts the following command options.</p> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>Option </th> 
    <th>Description</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td><b><tt>instance &lt;dir-name&gt;</tt></b> </td> 
    <td>&lt;dir-name&gt; represents the directory path of the Trafodion instance to remove. Run this option from the <b><tt>trafodion</tt></b> user ID.</td> 
   </tr> 
   <tr class="a"> 
    <td><b><tt>--all</tt></b> </td> 
    <td>Completely removes Trafodion, including the <b><tt>trafodion</tt></b> user ID and its /root directory. Run this option from a user ID with <b><tt>sudo</tt></b> access</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><b>Examples</b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre>cd /root/trafodion_downloads/installer
# Uninstall Trafodion but leave user IDs and root directory in place
./trafodion_uninstaller --instance /home/trafodion/trafodion
# Completely remove Trafodion
./trafodion_uninstaller --all
</pre> 
  </div> 
 </div> 
 <h1 id="remove_hadoop_distribution">Remove Hadoop Distribution</h1> 
 <p>Use these instructions of you need to change the Hadoop distribution on your environment.</p> 
 <p><b>Assumption:</b> You’ve already <a href="#Remove_Trafodion">removed Trafodion</a>, if previously installed.</p> 
</div> 
<div class="section"> 
 <h2 id="Remove_Cloudera">Remove Cloudera</h2> 
 <p><b><tt>cloudera_uninstall</tt></b> must be run by a user with <b><tt>root</tt></b> privileges. It accepts the following command options.</p> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>Option </th> 
    <th>Description</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td><b><tt>--help</tt></b> </td> 
    <td>Print help text and exit.</td> 
   </tr> 
   <tr class="a"> 
    <td><b><tt>--nodes &quot;&lt;node-list&gt;</tt></b>&quot; </td> 
    <td><b><tt>&lt;node-list</tt></b> represents a space-separated list from which Cloudera should be uninstalled. Quotes are required.</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><b>Example</b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre>cd /root/trafodion_downloads/installer/tools
./cloudera_uninstall --nodes &quot;redhat-1 redhat-2&quot; 
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Remove_Hortonworks">Remove Hortonworks</h2> 
 <p><b><tt>hortonworks_uninstall</tt></b> must be run by a user with <b><tt>root</tt></b> privileges. It accepts the following command options.</p> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>Option </th> 
    <th>Description</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td><b><tt>--help</tt></b> </td> 
    <td>Print help text and exit.</td> 
   </tr> 
   <tr class="a"> 
    <td><b><tt>--nodes &quot;&lt;node-list&gt;</tt></b>&quot; </td> 
    <td><b><tt>&lt;node-list</tt></b> represents a space-separated list from which Hortonworks should be uninstalled. Quotes are required.</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><b>Example</b></p> 
 <div class="source"> 
  <div class="source"> 
   <pre>cd /root/trafodion_downloads/installer/tools
./hortonworks_uninstall --nodes &quot;redhat-1 redhat-2&quot; 
</pre> 
  </div> 
 </div> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <tbody> 
   <tr class="a"> 
    <td> <p><b>NOTE</b></p> <p>During removal, the Ambari Server database must be reset. Type <b><tt>yes</tt></b> when prompted.</p> <p><b>Example</b></p> 
     <div> 
      <pre>Resetting ambari-server
**** WARNING **** You are about to reset and clear the Ambari Server database. This will remove all cluster host and configuration 
information from the database. You will be required to re-configure the Ambari server and re-run the cluster wizard.
Are you SURE you want to perform the reset [yes/no] (no)? yes
Confirm server reset [yes/no](no)? yes</pre> 
     </div> </td> 
   </tr> 
  </tbody> 
 </table> 
</div> 
<div class="section"> 
 <h2 id="Remove_MapR">Remove MapR</h2> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <tbody> 
   <tr class="a"> 
    <td> <p><b>NOTE</b></p> <p>Trafodion does not currently support MapR. However, the <b><tt>mapr_unistall</tt></b> allows you to remove an existing MapR installation.</p> <p>Follow these instructions to remove MapR and install one of the supported Hadoop distributions before installing Trafodion.</p> </td> 
   </tr> 
  </tbody> 
 </table> 
 <p><b><tt>mapr_uninstall</tt></b> must be run by a user with <b><tt>root</tt></b> privileges. It accepts the following command options.</p> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>Option </th> 
    <th>Description</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td><b><tt>--help</tt></b> </td> 
    <td>Print help text and exit.</td> 
   </tr> 
   <tr class="a"> 
    <td><b><tt>--nodes &quot;&lt;node-list&gt;</tt></b>&quot; </td> 
    <td><b><tt>&lt;node-list</tt></b> represents a space-separated list from which MapR should be uninstalled. Quotes are required.</td> 
   </tr> 
  </tbody> 
 </table> 
 <p>Do the following:</p> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th width="15%">Step</th> 
    <th width="30%">Description</th> 
    <th width="55%">Example</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td><b>Download Trafodion</b></td> 
    <td>If you haven't done so already, <a href="download.html">download</a> Trafodion.</td> 
    <td></td> 
   </tr> 
   <tr class="a"> 
    <td><b>Create <tt>trafodion_downloads</tt> Directory</b></td> 
    <td>Place the downloaded <b><tt>trafodion-1.1.&lt;n&gt;.tar.gz</tt></b> and <b><tt>installer-1.1.&lt;n&gt;_v&lt;num&gt;.tar.gz</tt></b> tar files into the <b><tt>trafodion_downloads</tt></b> directory.</td> 
    <td> 
     <div> 
      <pre>
mkdir $HOME/trafodion_downloads
mv &lt;your-download-path&gt;/trafodion-1.1.&lt;n&gt;.tar.gz $HOME/trafodion_downloads
mv &lt;your-download-path&gt;/installer-1.1.&lt;n&gt;_v&lt;num&gt;.tar.gz $HOME/trafodion_downloads
cd $HOME/trafodion_downloads</pre> 
     </div> </td> 
   </tr> 
   <tr class="b"> 
    <td><b>Unpack <tt>tar</tt> Files</b></td> 
    <td>Enables access to the Trafodion installation tools.</td> 
    <td> 
     <div> 
      <pre>
tar -xzf trafodion-1.1.&lt;n&gt;.tar.gz
tar -xzf installer-1.1.&lt;n&gt;_v&lt;num&gt;.tar.gz</pre> 
     </div> </td> 
   </tr> 
   <tr class="a"> 
    <td><b>Run <tt>mapr_uninstall</tt></b></td> 
    <td>Remove the MapR distribution software.</td> 
    <td> 
     <div> 
      <pre>
cd /root/trafodion_downloads/installer/tools
./mapr_uninstall --nodes &quot;redhat-1 redhat-2&quot;
./mapr_uninstall</pre> 
     </div> </td> 
   </tr> 
  </tbody> 
 </table> 
 <h1 id="switch_hadoop_distribution">Switch Hadoop Distribution</h1> 
 <p>If needed, you can switch the Hadoop distribution that Trafodion is running on without reinstalling Trafodion.</p> 
 <p>Do the following.</p> 
</div> 
<div class="section"> 
 <h2 id="Step_1_Shut_Down_Trafodion">Step 1: Shut Down Trafodion</h2> 
 <div class="source"> 
  <div class="source"> 
   <pre>su trafodion
cd $MY_SQROOT/sql/scripts
sqstop
</pre> 
  </div> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Step_2_Remove_Hadoop_Distribution">Step 2: Remove Hadoop Distribution</h2> 
 <p>Remove the Hadoop Distribution per the instructions above.</p> 
 <table border="0" class="bodyTable table table-striped table-hover"> 
  <thead> 
   <tr class="a"> 
    <th>Hadoop Distribution </th> 
    <th>Instructions</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr class="b"> 
    <td><b>Cloudera</b> </td> 
    <td><a href="#Remove_Cloudera">Remove Cloudera</a></td> 
   </tr> 
   <tr class="a"> 
    <td><b>Hortonworks</b> </td> 
    <td><a href="#Remove_Hortonworks">Remove Hortonworks</a></td> 
   </tr> 
   <tr class="b"> 
    <td><b>MapR</b> </td> 
    <td><a href="#Remove_MapR">Remove MapR</a></td> 
   </tr> 
  </tbody> 
 </table> 
</div> 
<div class="section"> 
 <h2 id="Step_3_Reinstall_Hadoop_Distribution">Step 3: Reinstall Hadoop Distribution</h2> 
 <p>Refer to <a href="install-preparation.html#Install_Hadoop_Distribution">Install Hadoop Distribution</a>.</p> 
</div> 
<div class="section"> 
 <h2 id="Step_4_Run_Trafodion_Installer">Step 4: Run Trafodion Installer</h2> 
 <p>Refer to the <a href="install.html">Install</a>.</p> 
</div>
			</div>
		</div>
	</div>
	</div>

	</div><!-- /container -->

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">About</li>
						<li >
							<a href="index.html" title="Project Overview">Project Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="team-redirect.html" title="Team">Team</a>
						</li>
						<li >
							<a href="presentations.html" title="Presentations">Presentations</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing List">Mailing List</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Using</li>
						<li >
							<a href="download.html" title="Download">Download</a>
						</li>
						<li >
							<a href="install.html" title="Install">Install</a>
						</li>
						<li class="active">
							<a href="#" title="Uninstall">Uninstall</a>
						</li>
						<li >
							<a href="management.html" title="Managing Trafodion">Managing Trafodion</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="documentation.html" title="Documentation">Documentation</a>
						</li>
						<li >
							<a href="port-assignment.html" title="Port Assignments">Port Assignments</a>
						</li>
						<li >
							<a href="faq.html" title="FAQ">FAQ</a>
						</li>
						<li >
							<a href="release-notes.html" title="Release Notes">Release Notes</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Features</li>
						<li >
							<a href="architecture-overview.html" title="Architecture Overview">Architecture Overview</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-ansi-schemas" title="ANSI Schema Support" class="externalLink">ANSI Schema Support</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ustat-automation" title="Automated Update Statistics" class="externalLink">Automated Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/bulkunload" title="Bulk Unload" class="externalLink">Bulk Unload</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability#Logging_Events" title="Event Handling" class="externalLink">Event Handling</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/hybrid-query-cache" title="Hybrid Query Cache" class="externalLink">Hybrid Query Cache</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/identity-column" title="Identity Column" class="externalLink">Identity Column</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Creating_Statistics_During_Bulk_Load" title="Immediate Update Statistics" class="externalLink">Immediate Update Statistics</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/lob-support" title="Large Object (LOB)" class="externalLink">Large Object (LOB)</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/ddl-query-invalidation" title="Metadata Query Invalidation" class="externalLink">Metadata Query Invalidation</a>
						</li>
						<li >
							<a href="https://cwiki.apache.org/confluence/display/TRAFODION/Cmp-divisioning" title="Multi-Temperature Data" class="externalLink">Multi-Temperature Data</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/access-external-hbase-tables" title="Native HBase Tables" class="externalLink">Native HBase Tables</a>
						</li>
						<li >
							<a href="docs/odb_user/index.html" title="ODB">ODB</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sql-query-cancel" title="Query Cancel" class="externalLink">Query Cancel</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/security-privilege-updates" title="Privilege Checking" class="externalLink">Privilege Checking</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Trafodion_Manageability" title="Repository" class="externalLink">Repository</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/enable-get-statistics-thru-rms" title="Runtime Management System" class="externalLink">Runtime Management System</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/sequence-numbers" title="Sequence Numbers" class="externalLink">Sequence Numbers</a>
						</li>
						<li >
							<a href="https://blueprints.launchpad.net/trafodion/+spec/skew-buster" title="Skew Buster" class="externalLink">Skew Buster</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Tutorial:_The_object-oriented_UDF_interface" title="Table-Oriented UDF" class="externalLink">Table-Oriented UDF</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Data_Loading#Trickle_Loading_Data_Into_Trafodion_Tables" title="Trickle Load" class="externalLink">Trickle Load</a>
						</li>
						<li >
							<a href="http:divider" title=""></a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Backup_and_Restore" title="Backup/Restore Utility" class="externalLink">Backup/Restore Utility</a>
						</li>
						<li >
							<a href="https://wiki.trafodion.org/wiki/index.php/Metadata_Cleanup" title="Metadata Cleanup Utility" class="externalLink">Metadata Cleanup Utility</a>
						</li>
					</ul>
				</div>
				<div class="span2 bottom-nav">
					<ul class="nav nav-list">
					</ul>
				</div>
				<div class="span4 bottom-description">
					<blockquote><a href="http://trafodion.apache.org/">Apache Trafodion</a> is a webscale SQL-on-Hadoop solution enabling transactional or operational
          workloads on Hadoop. <br /><br />The name &quot;Trafodion&quot; (the Welsh word for transactions, pronounced
          &quot;Tra-vod-eee-on&quot;) was chosen specifically to emphasize the differentiation that 
          Trafodion provides in closing a critical gap in the Hadoop ecosystem.<br /><br />          
          Trafodion builds on the scalability, elasticity, and flexibility of Hadoop. Trafodion extends 
          Hadoop to provide guaranteed transactional integrity, enabling new kinds of big data 
          applications to run on Hadoop.</blockquote>
				</div>
			</div>
		</div>
	</footer>

	<div class="container subfooter">
		<div class="row">
			<div class="span12">
				<p class="pull-right"><a href="#">Back to top</a></p>
				<p class="copyright">Copyright &copy;2015-2016 <a href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
		
<hr/>
<div class="row span16">
  <span>Disclaimer: Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. 
        Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making 
        process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the 
        completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</span>
  <br/>
  <br/>
  <span>Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, the Apache Maven project logo and the Apache Incubator project logo 
        are trademarks of The Apache Software Foundation.</span>
  <br/>
  <br/>
  <span>
    <a target="_blank" href="http://incubator.apache.org/">
      <img id="incubator-logo" alt="Apache Incubator" src="images/logos/egg-logo.png"/>
    </a>
  </span>
</div>			</div>
		</div>
	</div>

	<!-- Le javascript
	================================================== -->
	<!-- Placed at the end of the document so the pages load faster -->
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
	<script src="./js/lightbox.min.js"></script>
	<script src="./js/reflow-scroll.js"></script>
	<script src="http://yandex.st/highlightjs/7.5/highlight.min.js"></script>

	<script src="./js/reflow-skin.js"></script>

	</body>
</html>
