
<!DOCTYPE html>
<!--
 Generated by Apache Maven Doxia at 2016-11-07
 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 HBase &#x2013; Installing Apache HBase (TM) on Windows using Cygwin</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/spacelab/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="./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]-->



	</head>

	<body class="page-cygwin project-hbase" 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>
					<div class="nav-collapse collapse" id="top-nav-collapse">
						<ul class="nav pull-right">
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache HBase Project <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="index.html" title="Overview">Overview</a></li>
									<li ><a href="license.html" title="License">License</a></li>
									<li ><a href="http://www.apache.org/dyn/closer.cgi/hbase/" title="Downloads" class="externalLink">Downloads</a></li>
									<li ><a href="https://issues.apache.org/jira/browse/HBASE?report=com.atlassian.jira.plugin.system.project:changelog-panel#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel" title="Release Notes" class="externalLink">Release Notes</a></li>
									<li ><a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a></li>
									<li ><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
									<li ><a href="source-repository.html" title="Source Repository">Source Repository</a></li>
									<li ><a href="https://reviews.apache.org" title="ReviewBoard" class="externalLink">ReviewBoard</a></li>
									<li ><a href="team-list.html" title="Team">Team</a></li>
									<li ><a href="sponsors.html" title="Thanks">Thanks</a></li>
									<li ><a href="http://blogs.apache.org/hbase/" title="Blog" class="externalLink">Blog</a></li>
									<li ><a href="resources.html" title="Other resources">Other resources</a></li>
								</ul>
							</li>
							<li class="dropdown active">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="book.html" title="Reference Guide" target="_blank">Reference Guide</a></li>
									<li ><a href="apache_hbase_reference_guide.pdf" title="Reference Guide (PDF)" target="_blank">Reference Guide (PDF)</a></li>
									<li ><a href="book.html#quickstart" title="Getting Started" target="_blank">Getting Started</a></li>
									<li ><a href="apidocs/index.html" title="User API" target="_blank">User API</a></li>
									<li ><a href="devapidocs/index.html" title="Developer API" target="_blank">Developer API</a></li>
									<li ><a href="xref/index.html" title="X-Ref">X-Ref</a></li>
									<li ><a href="http://abloz.com/hbase/book.html" title="中文参考指南(单页)" target="_blank" class="externalLink">中文参考指南(单页)</a></li>
									<li ><a href="book.html#faq" title="FAQ" target="_blank">FAQ</a></li>
									<li ><a href="book.html#other.info" title="Videos/Presentations" target="_blank">Videos/Presentations</a></li>
									<li ><a href="http://wiki.apache.org/hadoop/Hbase" title="Wiki" target="_blank" class="externalLink">Wiki</a></li>
									<li ><a href="acid-semantics.html" title="ACID Semantics" target="_blank">ACID Semantics</a></li>
									<li ><a href="book.html#arch.bulk.load" title="Bulk Loads" target="_blank">Bulk Loads</a></li>
									<li ><a href="metrics.html" title="Metrics" target="_blank">Metrics</a></li>
									<li class="active"><a href="" title="HBase on Windows" target="_blank">HBase on Windows</a></li>
									<li ><a href="replication.html" title="Cluster replication" target="_blank">Cluster replication</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">0.94 Documentation <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="0.94/apidocs/index.html" title="API" target="_blank">API</a></li>
									<li ><a href="0.94/xref/index.html" title="X-Ref" target="_blank">X-Ref</a></li>
									<li ><a href="0.94/book.html" title="Ref Guide (single-page)" target="_blank">Ref Guide (single-page)</a></li>
								</ul>
							</li>
							<li class="dropdown">
								<a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
								<ul class="dropdown-menu">
									<li ><a href="http://www.apache.org/foundation/" title="Apache Software Foundation" target="_blank" class="externalLink">Apache Software Foundation</a></li>
									<li ><a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works" target="_blank" class="externalLink">How Apache Works</a></li>
									<li ><a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache" target="_blank" class="externalLink">Sponsoring Apache</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="./" id="bannerLeft"><img src="images/hbase_logo.png" alt='"'Apache HBase'"' /></a>
				</div>
				<div class="pull-right">
					<a href="http://hbasecon.com/" id="bannerRight"><img src="images/hbasecon2015.30percent.png" alt='"'Apache HBase Orca'"' /></a>
				</div>
			</div>
		</div>
	</div>
		<div>
			<ul class="breadcrumb">
				<li class="projectVersion version-date">Version: 1.1.8-SNAPSHOT</li>
				<li class="divider">|</li>
				<li class="publishDate version-date">Last Published: 2016-11-07</li>
			</ul>
		</div>
	</header>

	<div class="main-body">
	<div class="row">
		<div class="span12">
			<div class="body-content">
<!-- 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. --> 
<div class="section"> 
 <div class="page-header">
  <h2 id="Introduction">Introduction</h2>
 </div> 
 <p><a class="externalLink" href="http://hbase.apache.org" target="_blank" title="HBase project">Apache HBase (TM)</a> is a distributed, column-oriented store, modeled after Google's <a class="externalLink" href="http://research.google.com/archive/bigtable.html" target="_blank" title="Google's BigTable">BigTable</a>. Apache HBase is built on top of <a class="externalLink" href="http://hadoop.apache.org" title="Hadoop project">Hadoop</a> for its <a class="externalLink" href="http://hadoop.apache.org/mapreduce" target="_blank" title="Hadoop MapReduce project">MapReduce </a>and <a class="externalLink" href="http://hadoop.apache.org/hdfs" title="Hadoop DFS project">distributed file system</a> implementation. All these projects are open-source and part of the <a class="externalLink" href="http://www.apache.org/" target="_blank" title="The Apache Software Foundation">Apache Software Foundation</a>.</p> 
 <p style="text-align: justify; ">As being distributed, large scale platforms, the Hadoop and HBase projects mainly focus on <i><b>*nix</b></i><b> environments</b> for production installations. However, being developed in <b>Java</b>, both projects are fully <b>portable</b> across platforms and, hence, also to the <b>Windows operating system</b>. For ease of development the projects rely on <a class="externalLink" href="http://www.cygwin.com/" target="_blank" title="Cygwin site">Cygwin</a> to have a *nix-like environment on Windows to run the shell scripts.</p> 
</div> 
<div class="section"> 
 <h2 id="Purpose">Purpose</h2> 
 <p style="text-align: justify; ">This document explains the <b>intricacies of running Apache HBase on Windows using Cygwin</b> as an all-in-one single-node installation for testing and development. The HBase <a class="externalLink" href="http://hbase.apache.org/apidocs/overview-summary.html#overview_description" target="_blank" title="HBase Overview">Overview</a> and <a class="externalLink" href="http://hbase.apache.org/book/quickstart.html" target="_blank" title="HBase QuickStart">QuickStart</a> guides on the other hand go a long way in explaning how to setup <a class="externalLink" href="http://hadoop.apache.org/hbase" target="_blank" title="HBase project">HBase</a> in more complex deployment scenario's.</p> 
</div> 
<div class="section"> 
 <h2 id="Installation">Installation</h2> 
 <p style="text-align: justify; ">For running Apache HBase on Windows, 3 technologies are required: <b>Java, Cygwin and SSH</b>. The following paragraphs detail the installation of each of the aforementioned technologies.</p> 
 <div class="section"> 
  <h2 id="Java">Java</h2> 
  <p style="text-align: justify; ">HBase depends on the <a class="externalLink" href="http://java.sun.com/javase/6/" target="_blank" title="Java Platform, Standard Edition, 6 Release">Java Platform, Standard Edition, 6 Release</a>. So the target system has to be provided with at least the Java Runtime Environment (JRE); however if the system will also be used for development, the Jave Development Kit (JDK) is preferred. You can download the latest versions for both from <a class="externalLink" href="http://java.sun.com/javase/downloads/index.jsp" target="_blank" title="Java SE Downloads">Sun's download page</a>. Installation is a simple GUI wizard that guides you through the process.</p> 
 </div> 
 <div class="section"> 
  <h2 id="Cygwin">Cygwin</h2> 
  <p style="text-align: justify; ">Cygwin is probably the oddest technology in this solution stack. It provides a dynamic link library that emulates most of a *nix environment on Windows. On top of that a whole bunch of the most common *nix tools are supplied. Combined, the DLL with the tools form a very *nix-alike environment on Windows.</p> 
  <p style="text-align: justify; ">For installation, Cygwin provides the <a class="externalLink" href="http://cygwin.com/setup.exe" target="_blank" title="Cygwin Setup Utility"><b><tt>setup.exe</tt> utility</b></a> that tracks the versions of all installed components on the target system and provides the mechanism for <b>installing</b> or <b>updating </b>everything from the mirror sites of Cygwin.</p> 
  <p style="text-align: justify; ">To support installation, the <tt>setup.exe</tt> utility uses 2 directories on the target system. The <b>Root</b> directory for Cygwin (defaults to <tt>C:\cygwin)</tt> which will become <tt>/</tt> within the eventual Cygwin installation; and the <b>Local Package </b>directory (e.g. <tt>C:\cygsetup</tt> that is the cache where <tt>setup.exe</tt> stores the packages before they are installed. The cache must not be the same folder as the Cygwin root.</p> 
  <p style="text-align: justify; ">Perform following steps to install Cygwin, which are elaboratly detailed in the <a class="externalLink" href="http://cygwin.com/cygwin-ug-net/setup-net.html" target="_self" title="Setting Up Cygwin">2nd chapter</a> of the <a class="externalLink" href="http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html" target="_blank" title="Cygwin User's Guide">Cygwin User's Guide</a>:</p> 
  <ol style="list-style-type: decimal"> 
   <li>Make sure you have <tt>Administrator</tt> privileges on the target system.</li> 
   <li>Choose and create you <b>Root</b> and <b>Local Package</b> directories. A good suggestion is to use <tt>C:\cygwin\root</tt> and <tt>C:\cygwin\setup</tt> folders.</li> 
   <li>Download the <tt>setup.exe</tt> utility and save it to the <b>Local Package</b> directory.</li> 
   <li>Run the <tt>setup.exe</tt> utility, 
    <ol style="list-style-type: decimal"> 
     <li>Choose the <tt>Install from Internet</tt> option,</li> 
     <li>Choose your <b>Root</b> and <b>Local Package</b> folders</li> 
     <li>and select an appropriate mirror.</li> 
     <li>Don't select any additional packages yet, as we only want to install Cygwin for now.</li> 
     <li>Wait for download and install</li> 
     <li>Finish the installation</li> 
    </ol> </li> 
   <li>Optionally, you can now also add a shortcut to your Start menu pointing to the <tt>setup.exe</tt> utility in the <b>Local Package </b>folder.</li> 
   <li>Add <tt>CYGWIN_HOME</tt> system-wide environment variable that points to your <b>Root </b>directory.</li> 
   <li>Add <tt>%CYGWIN_HOME%\bin</tt> to the end of your <tt>PATH</tt> environment variable.</li> 
   <li>Reboot the sytem after making changes to the environment variables otherwise the OS will not be able to find the Cygwin utilities.</li> 
   <li>Test your installation by running your freshly created shortcuts or the <tt>Cygwin.bat</tt> command in the <b>Root</b> folder. You should end up in a terminal window that is running a <a class="externalLink" href="http://www.gnu.org/software/bash/manual/bashref.html" target="_blank" title="Bash Reference Manual">Bash shell</a>. Test the shell by issuing following commands: 
    <ol style="list-style-type: decimal"> 
     <li><tt>cd /</tt> should take you to thr <b>Root</b> directory in Cygwin;</li> 
     <li>the <tt>LS</tt> commands that should list all files and folders in the current directory.</li> 
     <li>Use the <tt>exit</tt> command to end the terminal.</li> 
    </ol> </li> 
   <li>When needed, to <b>uninstall</b> Cygwin you can simply delete the <b>Root</b> and <b>Local Package</b> directory, and the <b>shortcuts</b> that were created during installation.</li> 
  </ol> 
 </div> 
 <div class="section"> 
  <h2 id="SSH">SSH</h2> 
  <p style="text-align: justify; ">HBase (and Hadoop) rely on <a class="externalLink" href="http://nl.wikipedia.org/wiki/Secure_Shell" target="_blank" title="Secure Shell"><b>SSH</b></a> for interprocess/-node <b>communication</b> and launching<b> remote commands</b>. SSH will be provisioned on the target system via Cygwin, which supports running Cygwin programs as <b>Windows services</b>!</p> 
  <ol style="list-style-type: decimal"> 
   <li>Rerun the <tt><b>setup.exe</b></tt><b> utility</b>.</li> 
   <li>Leave all parameters as is, skipping through the wizard using the <tt>Next</tt> button until the <tt>Select Packages</tt> panel is shown.</li> 
   <li>Maximize the window and click the <tt>View</tt> button to toggle to the list view, which is ordered alfabetically on <tt>Package</tt>, making it easier to find the packages we'll need.</li> 
   <li>Select the following packages by clicking the status word (normally <tt>Skip</tt>) so it's marked for installation. Use the <tt>Next </tt>button to download and install the packages. 
    <ol style="list-style-type: decimal"> 
     <li>OpenSSH</li> 
     <li>tcp_wrappers</li> 
     <li>diffutils</li> 
     <li>zlib</li> 
    </ol> </li> 
   <li>Wait for the install to complete and finish the installation.</li> 
  </ol> 
 </div> 
 <div class="section"> 
  <h2 id="HBase">HBase</h2> 
  <p style="text-align: justify; ">Download the <b>latest release </b>of Apache HBase from the <a class="externalLink" href="http://www.apache.org/dyn/closer.cgi/hbase/" target="_blank" title="HBase Releases">website</a>. As the Apache HBase distributable is just a zipped archive, installation is as simple as unpacking the archive so it ends up in its final <b>installation</b> directory. Notice that HBase has to be installed in Cygwin and a good directory suggestion is to use <tt>/usr/local/</tt> (or [<tt><b>Root</b> directory]\usr\local</tt> in Windows slang). You should end up with a <tt>/usr/local/hbase-<i>&lt;version&gt;</i></tt> installation in Cygwin.</p> This finishes installation. We go on with the configuration. 
 </div> 
</div> 
<div class="section"> 
 <h2 id="Configuration">Configuration</h2> 
 <p style="text-align: justify; ">There are 3 parts left to configure: <b>Java, SSH and HBase</b> itself. Following paragraphs explain eacht topic in detail.</p> 
 <div class="section"> 
  <h2 id="Java">Java</h2> 
  <p style="text-align: justify; ">One important thing to remember in shell scripting in general (i.e. *nix and Windows) is that managing, manipulating and assembling path names that contains spaces can be very hard, due to the need to escape and quote those characters and strings. So we try to stay away from spaces in path names. *nix environments can help us out here very easily by using <b>symbolic links</b>.</p> 
  <ol style="list-style-type: decimal"> 
   <li style="text-align: justify; ">Create a link in <tt>/usr/local</tt> to the Java home directory by using the following command and substituting the name of your chosen Java environment: 
    <div> 
     <pre>LN -s /cygdrive/c/Program\ Files/Java/<i>&lt;jre name&gt; </i>/usr/local/<i>&lt;jre name&gt;</i></pre> 
    </div> </li> 
   <li>Test your java installation by changing directories to your Java folder <tt>CD /usr/local/<i>&lt;jre name&gt;</i></tt> and issueing the command <tt>./bin/java -version</tt>. This should output your version of the chosen JRE.</li> 
  </ol> 
 </div> 
 <div class="section"> 
  <h2 id="null"></h2> 
  <p style="text-align: justify; ">Configuring <b>SSH </b>is quite elaborate, but primarily a question of launching it by default as a<b> Windows service</b>.</p> 
  <ol style="list-style-type: decimal"> 
   <li style="text-align: justify; ">On Windows Vista and above make sure you run the Cygwin shell with <b>elevated privileges</b>, by right-clicking on the shortcut an using <tt>Run as Administrator</tt>.</li> 
   <li style="text-align: justify; ">First of all, we have to make sure the <b>rights on some crucial files</b> are correct. Use the commands underneath. You can verify all rights by using the <tt>LS -L</tt> command on the different files. Also, notice the auto-completion feature in the shell using <tt>&lt;TAB&gt;</tt> is extremely handy in these situations. 
    <ol style="list-style-type: decimal"> 
     <li><tt>chmod +r /etc/passwd</tt> to make the passwords file readable for all</li> 
     <li><tt>chmod u+w /etc/passwd</tt> to make the passwords file writable for the owner</li> 
     <li><tt>chmod +r /etc/group</tt> to make the groups file readable for all</li> 
    </ol> 
    <ol style="list-style-type: decimal"> 
     <li><tt>chmod u+w /etc/group</tt> to make the groups file writable for the owner</li> 
    </ol> 
    <ol style="list-style-type: decimal"> 
     <li><tt>chmod 755 /var</tt> to make the var folder writable to owner and readable and executable to all</li> 
    </ol> </li> 
   <li>Edit the <b>/etc/hosts.allow</b> file using your favorite editor (why not VI in the shell!) and make sure the following two lines are in there before the <tt>PARANOID</tt> line: 
    <ol style="list-style-type: decimal"> 
     <li><tt>ALL : localhost 127.0.0.1/32 : allow</tt></li> 
     <li><tt>ALL : [::1]/128 : allow</tt></li> 
    </ol> </li> 
   <li>Next we have to <b>configure SSH</b> by using the script <tt>ssh-host-config</tt> 
    <ol style="list-style-type: decimal"> 
     <li>If this script asks to overwrite an existing <tt>/etc/ssh_config</tt>, answer <tt>yes</tt>.</li> 
     <li>If this script asks to overwrite an existing <tt>/etc/sshd_config</tt>, answer <tt>yes</tt>.</li> 
     <li>If this script asks to use privilege separation, answer <tt>yes</tt>.</li> 
     <li>If this script asks to install <tt>sshd</tt> as a service, answer <tt>yes</tt>. Make sure you started your shell as Adminstrator!</li> 
     <li>If this script asks for the CYGWIN value, just <tt>&lt;enter&gt;</tt> as the default is <tt>ntsec</tt>.</li> 
     <li>If this script asks to create the <tt>sshd</tt> account, answer <tt>yes</tt>.</li> 
     <li>If this script asks to use a different user name as service account, answer <tt>no</tt> as the default will suffice.</li> 
     <li>If this script asks to create the <tt>cyg_server</tt> account, answer <tt>yes</tt>. Enter a password for the account.</li> 
    </ol> </li> 
   <li><b>Start the SSH service</b> using <tt>net start sshd</tt> or <tt>cygrunsrv --start sshd</tt>. Notice that <tt>cygrunsrv</tt> is the utility that make the process run as a Windows service. Confirm that you see a message stating that <tt>the CYGWIN sshd service was started succesfully.</tt></li> 
   <li>Harmonize Windows and Cygwin<b> user account</b> by using the commands: 
    <ol style="list-style-type: decimal"> 
     <li><tt>mkpasswd -cl &gt; /etc/passwd</tt></li> 
     <li><tt>mkgroup --local &gt; /etc/group</tt></li> 
    </ol> </li> 
   <li><b>Test </b>the installation of SSH: 
    <ol style="list-style-type: decimal"> 
     <li>Open a new Cygwin terminal</li> 
     <li>Use the command <tt>whoami</tt> to verify your userID</li> 
     <li>Issue an <tt>ssh localhost</tt> to connect to the system itself 
      <ol style="list-style-type: decimal"> 
       <li>Answer <tt>yes</tt> when presented with the server's fingerprint</li> 
       <li>Issue your password when prompted</li> 
       <li>test a few commands in the remote session</li> 
       <li>The <tt>exit</tt> command should take you back to your first shell in Cygwin</li> 
      </ol> </li> 
     <li><tt>Exit</tt> should terminate the Cygwin shell.</li> 
    </ol> </li> 
  </ol> 
 </div> 
 <div class="section"> 
  <h2 id="HBase">HBase</h2> If all previous configurations are working properly, we just need some tinkering at the 
  <b>HBase config</b> files to properly resolve on Windows/Cygwin. All files and paths referenced here start from the HBase 
  <tt>[<b>installation</b> directory]</tt> as working directory. 
  <ol style="list-style-type: decimal"> 
   <li>HBase uses the <tt>./conf/<b>hbase-env.sh</b></tt> to configure its dependencies on the runtime environment. Copy and uncomment following lines just underneath their original, change them to fit your environemnt. They should read something like: 
    <ol style="list-style-type: decimal"> 
     <li><tt>export JAVA_HOME=/usr/local/<i>&lt;jre name&gt;</i></tt></li> 
     <li><tt>export HBASE_IDENT_STRING=$HOSTNAME</tt> as this most likely does not inlcude spaces.</li> 
    </ol> </li> 
   <li>HBase uses the ./conf/<tt><b>hbase-default.xml</b></tt> file for configuration. Some properties do not resolve to existing directories because the JVM runs on Windows. This is the major issue to keep in mind when working with Cygwin: within the shell all paths are *nix-alike, hence relative to the root <tt>/</tt>. However, every parameter that is to be consumed within the windows processes themself, need to be Windows settings, hence <tt>C:\</tt>-alike. Change following propeties in the configuration file, adjusting paths where necessary to conform with your own installation: 
    <ol style="list-style-type: decimal"> 
     <li><tt>hbase.rootdir</tt> must read e.g. <tt>file:///C:/cygwin/root/tmp/hbase/data</tt></li> 
     <li><tt>hbase.tmp.dir</tt> must read <tt>C:/cygwin/root/tmp/hbase/tmp</tt></li> 
     <li><tt>hbase.zookeeper.quorum</tt> must read <tt>127.0.0.1</tt> because for some reason <tt>localhost</tt> doesn't seem to resolve properly on Cygwin.</li> 
    </ol> </li> 
   <li>Make sure the configured <tt>hbase.rootdir</tt> and <tt>hbase.tmp.dir</tt> <b>directories exist</b> and have the proper<b> rights</b> set up e.g. by issuing a <tt>chmod 777</tt> on them.</li> 
  </ol> 
 </div> 
</div> 
<div class="section"> 
 <h2 id="null"></h2> 
 <p> This should conclude the installation and configuration of Apache HBase on Windows using Cygwin. So it's time <b>to test it</b>. </p> 
 <ol style="list-style-type: decimal"> 
  <li>Start a Cygwin<b> terminal</b>, if you haven't already.</li> 
  <li>Change directory to HBase <b>installation</b> using <tt>CD /usr/local/hbase-<i>&lt;version&gt;</i></tt>, preferably using auto-completion.</li> 
  <li><b>Start HBase</b> using the command <tt>./bin/start-hbase.sh</tt> 
   <ol style="list-style-type: decimal"> 
    <li>When prompted to accept the SSH fingerprint, answer <tt>yes</tt>.</li> 
    <li>When prompted, provide your password. Maybe multiple times.</li> 
    <li>When the command completes, the HBase server should have started.</li> 
    <li>However, to be absolutely certain, check the logs in the <tt>./logs</tt> directory for any exceptions.</li> 
   </ol> </li> 
  <li>Next we <b>start the HBase shell</b> using the command <tt>./bin/hbase shell</tt></li> 
  <li>We run some simple <b>test commands</b> 
   <ol style="list-style-type: decimal"> 
    <li>Create a simple table using command <tt>create 'test', 'data'</tt></li> 
    <li>Verify the table exists using the command <tt>list</tt></li> 
    <li>Insert data into the table using e.g. 
     <div> 
      <pre>put 'test', 'row1', 'data:1', 'value1'
put 'test', 'row2', 'data:2', 'value2'
put 'test', 'row3', 'data:3', 'value3'</pre> 
     </div> </li> 
    <li>List all rows in the table using the command <tt>scan 'test'</tt> that should list all the rows previously inserted. Notice how 3 new columns where added without changing the schema!</li> 
    <li>Finally we get rid of the table by issuing <tt>disable 'test'</tt> followed by <tt>drop 'test'</tt> and verified by <tt>list</tt> which should give an empty listing.</li> 
   </ol> </li> 
  <li><b>Leave the shell</b> by <tt>exit</tt></li> 
  <li>To <b>stop the HBase server</b> issue the <tt>./bin/stop-hbase.sh</tt> command. And wait for it to complete!!! Killing the process might corrupt your data on disk.</li> 
  <li>In case of <b>problems</b>, 
   <ol style="list-style-type: decimal"> 
    <li>verify the HBase logs in the <tt>./logs</tt> directory.</li> 
    <li>Try to fix the problem</li> 
    <li>Get help on the forums or IRC (<tt>#hbase@freenode.net</tt>). People are very active and keen to help out!</li> 
    <li>Stopr, restart and retest the server.</li> 
   </ol> </li> 
 </ol> 
</div> 
<div class="section"> 
 <h2 id="Conclusion">Conclusion</h2> 
 <p> Now your <b>HBase </b>server is running, <b>start coding</b> and build that next killer app on this particular, but scalable datastore! </p> 
</div>
			</div>
		</div>
	</div>
	</div>

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

	<!-- Footer
	================================================== -->
	<footer class="well">
		<div class="container">
			<div class="row">
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Apache HBase Project</li>
						<li >
							<a href="index.html" title="Overview">Overview</a>
						</li>
						<li >
							<a href="license.html" title="License">License</a>
						</li>
						<li >
							<a href="http://www.apache.org/dyn/closer.cgi/hbase/" title="Downloads" class="externalLink">Downloads</a>
						</li>
						<li >
							<a href="https://issues.apache.org/jira/browse/HBASE?report=com.atlassian.jira.plugin.system.project:changelog-panel#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel" title="Release Notes" class="externalLink">Release Notes</a>
						</li>
						<li >
							<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
						</li>
						<li >
							<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
						</li>
						<li >
							<a href="source-repository.html" title="Source Repository">Source Repository</a>
						</li>
						<li >
							<a href="https://reviews.apache.org" title="ReviewBoard" class="externalLink">ReviewBoard</a>
						</li>
						<li >
							<a href="team-list.html" title="Team">Team</a>
						</li>
						<li >
							<a href="sponsors.html" title="Thanks">Thanks</a>
						</li>
						<li >
							<a href="http://blogs.apache.org/hbase/" title="Blog" class="externalLink">Blog</a>
						</li>
						<li >
							<a href="resources.html" title="Other resources">Other resources</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">Documentation</li>
						<li >
							<a href="book.html" title="Reference Guide" target="_blank">Reference Guide</a>
						</li>
						<li >
							<a href="apache_hbase_reference_guide.pdf" title="Reference Guide (PDF)" target="_blank">Reference Guide (PDF)</a>
						</li>
						<li >
							<a href="book.html#quickstart" title="Getting Started" target="_blank">Getting Started</a>
						</li>
						<li >
							<a href="apidocs/index.html" title="User API" target="_blank">User API</a>
						</li>
						<li >
							<a href="devapidocs/index.html" title="Developer API" target="_blank">Developer API</a>
						</li>
						<li >
							<a href="xref/index.html" title="X-Ref">X-Ref</a>
						</li>
						<li >
							<a href="http://abloz.com/hbase/book.html" title="中文参考指南(单页)" target="_blank" class="externalLink">中文参考指南(单页)</a>
						</li>
						<li >
							<a href="book.html#faq" title="FAQ" target="_blank">FAQ</a>
						</li>
						<li >
							<a href="book.html#other.info" title="Videos/Presentations" target="_blank">Videos/Presentations</a>
						</li>
						<li >
							<a href="http://wiki.apache.org/hadoop/Hbase" title="Wiki" target="_blank" class="externalLink">Wiki</a>
						</li>
						<li >
							<a href="acid-semantics.html" title="ACID Semantics" target="_blank">ACID Semantics</a>
						</li>
						<li >
							<a href="book.html#arch.bulk.load" title="Bulk Loads" target="_blank">Bulk Loads</a>
						</li>
						<li >
							<a href="metrics.html" title="Metrics" target="_blank">Metrics</a>
						</li>
						<li class="active">
							<a href="#" title="HBase on Windows" target="_blank">HBase on Windows</a>
						</li>
						<li >
							<a href="replication.html" title="Cluster replication" target="_blank">Cluster replication</a>
						</li>
					</ul>
				</div>
				<div class="span3 bottom-nav">
					<ul class="nav nav-list">
						<li class="nav-header">0.94 Documentation</li>
						<li >
							<a href="0.94/apidocs/index.html" title="API" target="_blank">API</a>
						</li>
						<li >
							<a href="0.94/xref/index.html" title="X-Ref" target="_blank">X-Ref</a>
						</li>
						<li >
							<a href="0.94/book.html" title="Ref Guide (single-page)" target="_blank">Ref Guide (single-page)</a>
						</li>
						<li class="nav-header">ASF</li>
						<li >
							<a href="http://www.apache.org/foundation/" title="Apache Software Foundation" target="_blank" class="externalLink">Apache Software Foundation</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/how-it-works.html" title="How Apache Works" target="_blank" class="externalLink">How Apache Works</a>
						</li>
						<li >
							<a href="http://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache" target="_blank" class="externalLink">Sponsoring Apache</a>
						</li>
					</ul>
				</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;2007-2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p>
				<p><a href="http://github.com/andriusvelykis/reflow-maven-skin" title="Reflow Maven skin">Reflow Maven skin</a> by <a href="http://andrius.velykis.lt" target="_blank" title="Andrius Velykis">Andrius Velykis</a>.</p>
			</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="./js/reflow-skin.js"></script>

	</body>
</html>
