diff --git a/.gitignore b/.gitignore
index 5b33192f8c9..50dfdfb69e5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@ linklint/
.java-version
*.log
**/*.log
+tmp
diff --git a/conf/hbase-site.xml b/conf/hbase-site.xml
index c516ac72911..48b78ec72d0 100644
--- a/conf/hbase-site.xml
+++ b/conf/hbase-site.xml
@@ -1,8 +1,7 @@
+
+
+ hbase.cluster.distributed
+ false
+
+
+ hbase.tmp.dir
+ ${env.HBASE_HOME:-.}/tmp
+
+
+ hbase.unsafe.stream.capability.enforce
+ false
+
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
index 29b3e143f78..f6ff8fa620b 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/CommonFSUtils.java
@@ -1,4 +1,4 @@
-/**
+/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -349,7 +349,7 @@ public final class CommonFSUtils {
public static FileSystem getWALFileSystem(final Configuration c) throws IOException {
Path p = getWALRootDir(c);
FileSystem fs = p.getFileSystem(c);
- // hadoop-core does fs caching, so need to propogate this if set
+ // hadoop-core does fs caching, so need to propagate this if set
String enforceStreamCapability = c.get(UNSAFE_STREAM_CAPABILITY_ENFORCE);
if (enforceStreamCapability != null) {
fs.getConf().set(UNSAFE_STREAM_CAPABILITY_ENFORCE, enforceStreamCapability);
diff --git a/src/main/asciidoc/_chapters/getting_started.adoc b/src/main/asciidoc/_chapters/getting_started.adoc
index e12b7a2fabf..9e4aa8c069b 100644
--- a/src/main/asciidoc/_chapters/getting_started.adoc
+++ b/src/main/asciidoc/_chapters/getting_started.adoc
@@ -77,76 +77,12 @@ $ cd hbase-{Version}/
# The java implementation to use.
export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
+
-
-. Edit _conf/hbase-site.xml_, which is the main HBase configuration file.
- At this time, you need to specify the directory on the local filesystem where HBase and ZooKeeper write data and acknowledge some risks.
- By default, a new directory is created under /tmp.
- Many servers are configured to delete the contents of _/tmp_ upon reboot, so you should store the data elsewhere.
- The following configuration will store HBase's data in the _hbase_ directory, in the home directory of the user called `testuser`.
- Paste the `` tags beneath the `` tags, which should be empty in a new HBase install.
-+
-.Example _hbase-site.xml_ for Standalone HBase
-====
-[source,xml]
-----
-
-
-
- hbase.rootdir
- file:///home/testuser/hbase
-
-
- hbase.zookeeper.property.dataDir
- /home/testuser/zookeeper
-
-
- hbase.unsafe.stream.capability.enforce
- false
-
- Controls whether HBase will check for stream capabilities (hflush/hsync).
-
- Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
- with the 'file://' scheme, but be mindful of the NOTE below.
-
- WARNING: Setting this to false blinds you to potential data loss and
- inconsistent system state in the event of process and/or node failures. If
- HBase is complaining of an inability to use hsync or hflush it's most
- likely not a false positive.
-
-
-
-----
-====
-+
-You do not need to create the HBase data directory.
-HBase will do this for you. If you create the directory,
-HBase will attempt to do a migration, which is not what you want.
-+
-NOTE: The _hbase.rootdir_ in the above example points to a directory
-in the _local filesystem_. The 'file://' prefix is how we denote local
-filesystem. You should take the WARNING present in the configuration example
-to heart. In standalone mode HBase makes use of the local filesystem abstraction
-from the Apache Hadoop project. That abstraction doesn't provide the durability
-promises that HBase needs to operate safely. This is fine for local development
-and testing use cases where the cost of cluster failure is well contained. It is
-not appropriate for production deployments; eventually you will lose data.
-
-To home HBase on an existing instance of HDFS, set the _hbase.rootdir_ to point at a
-directory up on your instance: e.g. _hdfs://namenode.example.org:8020/hbase_.
-For more on this variant, see the section below on Standalone HBase over HDFS.
-
. 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.
You can use the `jps` command to verify that you have one running process called `HMaster`.
In standalone mode HBase runs all daemons within this single JVM, i.e.
the HMaster, a single HRegionServer, and the ZooKeeper daemon.
Go to _http://localhost:16010_ to view the HBase Web UI.
-+
-NOTE: Java needs to be installed and available.
-If you get an error indicating that Java is not installed,
-but it is on your system, perhaps in a non-standard location,
-edit the _conf/hbase-env.sh_ file and modify the `JAVA_HOME`
-setting to point to the directory that contains _bin/java_ on your system.
[[shell_exercises]]
@@ -306,7 +242,7 @@ The above has shown you how to start and stop a standalone instance of HBase.
In the next sections we give a quick overview of other modes of hbase deploy.
[[quickstart_pseudo]]
-=== Pseudo-Distributed Local Install
+=== Pseudo-Distributed for Local Testing
After working your way through <> standalone mode,
you can re-configure HBase to run in pseudo-distributed mode.
@@ -348,8 +284,8 @@ First, add the following property which directs HBase to run in distributed mode
----
+
-Next, change the `hbase.rootdir` from the local filesystem to the address of your HDFS instance, using the `hdfs:////` URI syntax.
-In this example, HDFS is running on the localhost at port 8020. Be sure to either remove the entry for `hbase.unsafe.stream.capability.enforce` or set it to true.
+Next, add a configuration for `hbase.rootdir`, pointing to the address of your HDFS instance, using the `hdfs:////` URI syntax.
+In this example, HDFS is running on the localhost at port 8020.
+
[source,xml]
----
@@ -361,8 +297,9 @@ In this example, HDFS is running on the localhost at port 8020. Be sure to eithe
----
+
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.
+HBase will do this for you. If you create the directory, HBase will attempt to do a migration, which is not what you want.
++
+Finally, remove existing configuration for `hbase.tmp.dir` and `hbase.unsafe.stream.capability.enforce`,
. Start HBase.
+
@@ -449,7 +386,7 @@ You can stop HBase the same way as in the <> procedure, u
[[quickstart_fully_distributed]]
-=== Advanced - Fully Distributed
+=== Fully Distributed for Production
In reality, you need a fully-distributed configuration to fully test HBase and to use it in real-world scenarios.
In a distributed configuration, the cluster contains multiple nodes, each of which runs one or more HBase daemon.