anchor.diff:  [[quickstart_pseudo]]
   === Pseudo-Distributed Local Install
   
  -After working your way through the <<quickstart,quickstart>> using standalone mode, you can
  -re-configure HBase to run in pseudo-distributed mode. Pseudo-distributed mode means that HBase
  -still runs completely on a single host, but each HBase daemon (HMaster, HRegionServer, and
  -ZooKeeper) runs as a separate process. Previously in <<quickstart,standalone mode>>, all these
  -daemons ran in a single jvm process, and your data was stored under
  -<<hbase.tmp.dir,`hbase.tmp.dir`>>. In this walk-through, your data will be stored in in HDFS
  -instead, assuming you have HDFS available. This is optional; you can skip the HDFS configuration
  -to continue storing your data in the local filesystem.
  +After working your way through <<quickstart,quickstart>> standalone mode,
  +you can re-configure HBase to run in pseudo-distributed mode.
  +Pseudo-distributed mode means that HBase still runs completely on a single host,
  +but each HBase daemon (HMaster, HRegionServer, and ZooKeeper) runs as a separate process:
  +in standalone mode all daemons ran in one jvm process/instance.
  +By default, unless you configure the `hbase.rootdir` property as described in
  +<<quickstart,quickstart>>, your data is still stored in _/tmp/_.
  +In this walk-through, we store your data in HDFS instead, assuming you have HDFS available.
  +You can skip the HDFS configuration to continue storing your data in the local filesystem.
   
   .Hadoop Configuration
  -NOTE: This procedure assumes that you have configured Hadoop and HDFS on your local system and/or a
  -remote system, and that they are running and available. It also assumes you are using Hadoop 2.
  +[NOTE]
  +====
  +This procedure assumes that you have configured Hadoop and HDFS on your local system and/or a remote
  +system, and that they are running and available. It also assumes you are using Hadoop 2.
   The guide on
   link:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html[Setting up a Single Node Cluster]
   in the Hadoop documentation is a good starting point.
  +====
  +
   
   . Stop HBase if it is running.
   +
  
positive.code: . Choose a download site from this list of link:https://www.apache.org/dyn/closer.lua/hbase/[Apache Download Mirrors].
    Click on the suggested top link.
    This will take you to a mirror of _HBase Releases_.
    Click on the folder named _stable_ and then download the binary file that looks like
    _hbase-<version>-bin.tar.gz_.
  
  . Extract the downloaded file and change to the newly-created directory.
  +
  ----
  $ tar xzvf hbase-<version>-bin.tar.gz
  $ cd hbase-<version>/
  ----
  
  . Set the `JAVA_HOME` environment variable in _conf/hbase-env.sh_.
    First, locate the installation of `java` on your machine. On Unix systems, you can use the
    _whereis java_ command. Once you have the location, edit _conf/hbase-env.sh_ file, found inside
    the extracted _hbase-<version>_ directory, uncomment the line starting with `#export JAVA_HOME=`,
    and then set it to your Java installation path.
  +
  .Example extract from _conf/hbase-env.sh_ where `JAVA_HOME` is set
    # Set environment variables here.
    # The java implementation to use.
    export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
  +
  
  . Optionally set the <<hbase.tmp.dir,`hbase.tmp.dir`>> property in _conf/hbase-site.xml_.
    At this time, you may consider changing the location on the local filesystem where HBase writes
    its application data and the data  written by its embedded ZooKeeper  instance. By default, HBase
    uses paths under <<hbase.tmp.dir,`hbase.tmp.dir`>> for these directories.
  +
  NOTE: On most systems, this is a path created under _/tmp_. Many system periodically delete the
    contents of _/tmp_. If you start working with HBase in this way, and then return after the
    cleanup operation takes place, you're likely to find strange errors. The following
    configuration will place HBase's runtime data in a _tmp_ directory found inside the extracted
    _hbase-<version>_ directory, where it will be safe from this periodic cleanup.
  +
  Open _conf/hbase-site.xml_ and paste the `<property>` tags between the empty `<configuration>`
  tags.
  +
  .Example _hbase-site.xml_ for Standalone HBase
  ====
  [source,xml]
  ----
  <configuration>
    <property>
      <name>hbase.tmp.dir</name>
      <value>tmp</value>
    </property>
  </configuration>
  ----
  ====
  +
  You do not need to create the HBase _tmp_ directory; HBase will do this for you.
  +
  NOTE: When unconfigured, HBase uses <<hbase.tmp.dir,`hbase.tmp.dir`>> as a starting point for many
  important configurations. Notable among them are <<hbase.rootdir,`hbase.rootdir`>>, the path under
  which HBase stores its data. You can specify values for this configuration directly, as you'll see
  in the subsequent sections.
  +
  NOTE: In this example, HBase is running on Hadoop's `LocalFileSystem`. That abstraction doesn't
  provide the durability promises that HBase needs to operate safely. This is most likely acceptable
  for local development and testing use cases. It is not appropriate for production deployments;
  eventually you will lose data. Instead, ensure your production deployment sets
  <<hbase.rootdir,`hbase.rootdir`>> to a durable `FileSystem` implementation.
  
  . The _bin/start-hbase.sh_ script is provided as a convenient way to start HBase.
    Issue the command, and if all goes well, a message is logged to standard output showing that HBase started successfully.
  
negative.code: </property>
  ----
  +
  You do not need to create the directory in HDFS.
  HBase will do this for you.
  If you create the directory, HBase will attempt to do a migration, which is not what you want.
  
  . Start HBase.
  +
  Use the _bin/start-hbase.sh_ command to start HBase.
  