You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by pa...@apache.org on 2026/03/31 10:46:42 UTC

(hbase) branch branch-3 updated: HBASE-30013 Update documentation links to point to new docs (#7982)

This is an automated email from the ASF dual-hosted git repository.

paksyd pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-3 by this push:
     new 53d1cb51b73 HBASE-30013 Update documentation links to point to new docs (#7982)
53d1cb51b73 is described below

commit 53d1cb51b7314fe3128b48e3f1a6f1c1f37c651a
Author: Dávid Paksy <pa...@apache.org>
AuthorDate: Tue Mar 31 12:46:36 2026 +0200

    HBASE-30013 Update documentation links to point to new docs (#7982)
    
    A lot of source files in our repo still has links to book.html which will not be updated anymore. Replaced them with links to the new docs. Also changed http in links to https.
    
    (cherry picked from commit 9e0f008deef52e3fd3aa769e3fdee55f69728a67)
    
    Signed-off-by: Xiao Liu <li...@apache.org>
    Signed-off-by: Duo Zhang <zh...@apache.org>
---
 README.md                                                   |  5 +++--
 bin/hbase                                                   |  2 +-
 conf/hbase-env.cmd                                          |  2 +-
 conf/hbase-env.sh                                           |  5 +++--
 conf/hbase-site.xml                                         |  2 +-
 dev-support/create-release/README.txt                       |  3 ++-
 ...-Use_composition_instead_of_inheritance-HBASE-17732.adoc |  4 ++--
 dev-support/integration-test/integration-test.Jenkinsfile   |  2 +-
 dev-support/integration-test/source-artifact.sh             |  2 +-
 dev-support/make_rc.sh                                      |  2 +-
 .../hbase/archetypes/exemplars/client/HelloHBase.java       |  3 ++-
 .../archetypes/exemplars/shaded_client/HelloHBase.java      |  3 ++-
 .../apache/hadoop/hbase/backup/BackupRestoreConstants.java  |  2 +-
 .../hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java  |  8 ++++----
 .../apache/hadoop/hbase/client/ZKConnectionRegistry.java    |  2 +-
 .../java/org/apache/hadoop/hbase/client/package-info.java   |  6 +++---
 .../src/main/java/org/apache/hadoop/hbase/AuthUtil.java     |  6 +++---
 .../src/main/java/org/apache/hadoop/hbase/util/Sleeper.java |  2 +-
 hbase-common/src/main/resources/hbase-default.xml           |  6 ++++--
 .../java/org/apache/hadoop/hbase/http/ProfileServlet.java   |  6 +++---
 .../java/org/apache/hadoop/hbase/IntegrationTestBase.java   |  3 ++-
 .../java/org/apache/hadoop/hbase/mapred/package-info.java   |  2 +-
 .../apache/hadoop/hbase/mapreduce/HRegionPartitioner.java   |  2 +-
 .../org/apache/hadoop/hbase/mapreduce/package-info.java     |  2 +-
 hbase-metrics-api/README.txt                                |  2 +-
 .../src/main/java/org/apache/hadoop/hbase/rest/package.html |  2 +-
 hbase-rest/src/main/resources/hbase-webapps/rest/rest.jsp   |  2 +-
 .../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java |  2 +-
 .../org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java  |  2 +-
 .../java/org/apache/hadoop/hbase/io/hfile/package-info.java |  6 ++++--
 .../hbase/procedure2/store/region/RegionProcedureStore.java |  7 ++++---
 .../org/apache/hadoop/hbase/regionserver/CompactSplit.java  |  3 ++-
 .../org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.java    |  2 +-
 .../main/java/org/apache/hadoop/hbase/tool/CanaryTool.java  |  6 ++++--
 .../src/main/java/org/apache/hadoop/hbase/util/FSUtils.java |  2 +-
 .../org/apache/hadoop/hbase/replication/package.html        |  2 +-
 hbase-server/src/main/javadoc/overview.html                 | 13 ++++++-------
 .../src/main/resources/hbase-webapps/master/warnings.jsp    |  2 +-
 .../hbase-webapps/regionserver/blockCacheBaseInfo.jsp       |  2 +-
 .../hbase-webapps/regionserver/blockCacheLevel.jsp          |  2 +-
 .../test/java/org/apache/hadoop/hbase/HBaseTestingUtil.java |  5 +++--
 .../hadoop/hbase/security/access/TestAccessController.java  |  2 +-
 .../hadoop/hbase/security/access/TestAccessController3.java |  2 +-
 hbase-shell/src/main/ruby/shell.rb                          |  4 ++--
 .../src/main/ruby/shell/commands/update_all_config.rb       |  2 +-
 hbase-shell/src/main/ruby/shell/commands/update_config.rb   |  2 +-
 .../src/main/ruby/shell/commands/update_rsgroup_config.rb   |  2 +-
 hbase-shell/src/test/ruby/shell/general_test_cluster.rb     |  2 +-
 .../java/org/apache/hadoop/hbase/HBaseTestingUtility.java   | 13 +++++++++----
 .../src/main/resources/hbase-webapps/thrift/thrift.jsp      |  2 +-
 50 files changed, 97 insertions(+), 78 deletions(-)

diff --git a/README.md b/README.md
index 9f037e4e8c3..25efd20aa41 100644
--- a/README.md
+++ b/README.md
@@ -21,8 +21,9 @@ under the License.
 
 [Apache HBase](https://hbase.apache.org) is an open-source, distributed, versioned, column-oriented store modeled after Google' [Bigtable](https://research.google.com/archive/bigtable.html): A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of [Apache Hadoop](https://hadoop.apache.org/).
 
-# Getting Start
-To get started using HBase, the full documentation for this release can be found under the doc/ directory that accompanies this README. Using a browser, open the docs/index.html to view the project home page (or browse https://hbase.apache.org). The hbase '[book](https://hbase.apache.org/book.html)' has a 'quick start' section and is where you should being your exploration of the hbase project.
+# Getting Started
+To get started using HBase, visit the [project home page](https://hbase.apache.org).
+The HBase [Reference Guide](https://hbase.apache.org/docs) has a 'Quick Start' section and is where you should begin your exploration of the HBase project.
 
 The latest HBase can be downloaded from the [download page](https://hbase.apache.org/downloads/).
 
diff --git a/bin/hbase b/bin/hbase
index d8d9b6ec5b2..045b6171fa6 100755
--- a/bin/hbase
+++ b/bin/hbase
@@ -641,7 +641,7 @@ elif [ "$COMMAND" = "restore" ] ; then
   fi
 elif [ "$COMMAND" = "upgrade" ] ; then
   echo "This command was used to upgrade to HBase 0.96, it was removed in HBase 2.0.0."
-  echo "Please follow the documentation at http://hbase.apache.org/book.html#upgrading."
+  echo "Please follow the documentation at https://hbase.apache.org/docs/upgrading."
   exit 1
 elif [ "$COMMAND" = "snapshot" ] ; then
   SUBCOMMAND=$1
diff --git a/conf/hbase-env.cmd b/conf/hbase-env.cmd
index 84519d5606d..d673595b30a 100644
--- a/conf/hbase-env.cmd
+++ b/conf/hbase-env.cmd
@@ -37,7 +37,7 @@
 @rem Extra Java runtime options.
 @rem Below are what we set by default.  May only work with SUN JVM.
 @rem For more on why as well as other possible settings,
-@rem see http://hbase.apache.org/book.html#performance
+@rem see https://hbase.apache.org/docs/performance
 @rem JDK6 on Windows has a known bug for IPv6, use preferIPv4Stack unless JDK7.
 @rem @rem See TestIPv6NIOServerSocketChannel.
 set HBASE_OPTS=%HBASE_OPTS% "-XX:+UseConcMarkSweepGC" "-Djava.net.preferIPv4Stack=true"
diff --git a/conf/hbase-env.sh b/conf/hbase-env.sh
index 73b7b72ea2f..d80bfaeeddb 100644
--- a/conf/hbase-env.sh
+++ b/conf/hbase-env.sh
@@ -34,14 +34,15 @@
 # export HBASE_HEAPSIZE=1G
 
 # Uncomment below if you intend to use off heap cache. For example, to allocate 8G of
-# offheap, set the value to "8G". See http://hbase.apache.org/book.html#direct.memory
+# offheap, set the value to "8G". See "Direct Memory Usage In HBase" in
+# https://hbase.apache.org/docs/architecture/regionserver#bucketcache-example-configuration
 # in the refguide for guidance setting this config.
 # export HBASE_OFFHEAPSIZE=1G
 
 # Extra Java runtime options.
 # Default settings are applied according to the detected JVM version. Override these default
 # settings by specifying a value here. For more details on possible settings,
-# see http://hbase.apache.org/book.html#_jvm_tuning
+# see https://hbase.apache.org/docs/regionserver-sizing#jvm-tuning
 # export HBASE_OPTS
 
 # Uncomment one of the below three options to enable java garbage collection logging for the server-side processes.
diff --git a/conf/hbase-site.xml b/conf/hbase-site.xml
index 48b78ec72d0..a612737f7f2 100644
--- a/conf/hbase-site.xml
+++ b/conf/hbase-site.xml
@@ -37,7 +37,7 @@
     permitting operation. This configuration is for the developer workstation
     only and __should not be used in production!__
 
-    See also https://hbase.apache.org/book.html#standalone_dist
+    See also https://hbase.apache.org/docs/configuration/hbase-run-models
   -->
   <property>
     <name>hbase.cluster.distributed</name>
diff --git a/dev-support/create-release/README.txt b/dev-support/create-release/README.txt
index f679a47cfb3..14c2b7d458d 100644
--- a/dev-support/create-release/README.txt
+++ b/dev-support/create-release/README.txt
@@ -32,7 +32,8 @@ to remove dry-run mode.
 
 Before starting the RC build, run a reconciliation of what is in JIRA with
 what is in the commit log. Make sure they align and that anomalies are
-explained up in JIRA. See http://hbase.apache.org/book.html#maven.release
+explained up in JIRA.
+See https://hbase.apache.org/docs/building-and-developing/releasing#making-a-release-candidate
 for how.
 
 Regardless of where your release build will run (locally, locally in docker,
diff --git a/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732.adoc b/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732.adoc
index 2476f8a4782..8d588794efe 100644
--- a/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732.adoc
+++ b/dev-support/design-docs/Coprocessor_Design_Improvements-Use_composition_instead_of_inheritance-HBASE-17732.adoc
@@ -49,7 +49,7 @@ logic to internal code paths.
 [[background]]
 == Background
 
-Coprocessors are well link:http://hbase.apache.org/book.html#cp[documented in the refguide].
+Coprocessors are well link:https://hbase.apache.org/docs/cp[documented in the refguide].
 
 Here we give a little background information on involved classes, their responsibilities, and
 relationship to each other.
@@ -59,7 +59,7 @@ relationship to each other.
 *** All *Observer* interfaces derive from Coprocessor interface.
 **** Coprocessor Interface is a _Marker _Interface. It just has start/stop methods and enums for
 stages in the Coprocessor Lifecycle.
-** http://hbase.apache.org/book.html#_observer_coprocessors[Observers] (interface)
+** https://hbase.apache.org/docs/cp#observer-coprocessors[Observers] (interface)
 *** Contain hooks which third-party programs can override to inject functionality in various
 internal code paths. For e.g preCreateTable(...) will be called just before any table is created.
 *** Current set of observers: _MasterObserver, RegionObserver, RegionServerObserver, WALObserver,
diff --git a/dev-support/integration-test/integration-test.Jenkinsfile b/dev-support/integration-test/integration-test.Jenkinsfile
index d4490bc3311..b17025ab642 100644
--- a/dev-support/integration-test/integration-test.Jenkinsfile
+++ b/dev-support/integration-test/integration-test.Jenkinsfile
@@ -46,7 +46,7 @@ pipeline {
       }
     }
     // This is meant to mimic what a release manager will do to create RCs.
-    // See http://hbase.apache.org/book.html#maven.release
+    // See https://hbase.apache.org/docs/building-and-developing/releasing#making-a-release-candidate
     // TODO (HBASE-23870): replace this with invocation of the release tool
     stage ('packaging test') {
       steps {
diff --git a/dev-support/integration-test/source-artifact.sh b/dev-support/integration-test/source-artifact.sh
index da48ad07de2..7292d2da8c3 100755
--- a/dev-support/integration-test/source-artifact.sh
+++ b/dev-support/integration-test/source-artifact.sh
@@ -128,7 +128,7 @@ else
 fi
 
 # This is meant to mimic what a release manager will do to create RCs.
-# See http://hbase.apache.org/book.html#maven.release
+# See https://hbase.apache.org/docs/building-and-developing/releasing#making-a-release-candidate
 
 echo "Maven details, in case our JDK doesn't match expectations:"
 ${MVN} --version --offline | tee "${working_dir}/maven_version"
diff --git a/dev-support/make_rc.sh b/dev-support/make_rc.sh
index 1d65f1807c7..bd65ceb8729 100755
--- a/dev-support/make_rc.sh
+++ b/dev-support/make_rc.sh
@@ -17,4 +17,4 @@
 # limitations under the License.
 
 echo "Replaced by ./dev-support/create-release/do-release-docker.sh script."
-echo "See http://hbase.apache.org/book.html#do-release-docker.sh"
+echo "See https://hbase.apache.org/docs/building-and-developing/releasing#making-a-release-candidate"
diff --git a/hbase-archetypes/hbase-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/client/HelloHBase.java b/hbase-archetypes/hbase-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/client/HelloHBase.java
index 3ca23a618ae..4077b2d25dc 100644
--- a/hbase-archetypes/hbase-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/client/HelloHBase.java
+++ b/hbase-archetypes/hbase-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/client/HelloHBase.java
@@ -39,7 +39,8 @@ import org.apache.hadoop.hbase.util.Bytes;
 /**
  * Successful running of this application requires access to an active instance of HBase. For
  * install instructions for a standalone instance of HBase, please refer to
- * https://hbase.apache.org/book.html#quickstart
+ * <a href="https://hbase.apache.org/docs/getting-started#quick-start---standalone-hbase">Quick
+ * Start - Standalone HBase</a>
  */
 public final class HelloHBase {
 
diff --git a/hbase-archetypes/hbase-shaded-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/shaded_client/HelloHBase.java b/hbase-archetypes/hbase-shaded-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/shaded_client/HelloHBase.java
index 964e9a5bbd7..404041b5eac 100644
--- a/hbase-archetypes/hbase-shaded-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/shaded_client/HelloHBase.java
+++ b/hbase-archetypes/hbase-shaded-client-project/src/main/java/org/apache/hbase/archetypes/exemplars/shaded_client/HelloHBase.java
@@ -38,7 +38,8 @@ import org.apache.hadoop.hbase.util.Bytes;
 /**
  * Successful running of this application requires access to an active instance of HBase. For
  * install instructions for a standalone instance of HBase, please refer to
- * https://hbase.apache.org/book.html#quickstart
+ * <a href="https://hbase.apache.org/docs/getting-started#quick-start---standalone-hbase">Quick
+ * Start - Standalone HBase</a>
  */
 public final class HelloHBase {
 
diff --git a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupRestoreConstants.java b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupRestoreConstants.java
index 57454d40217..d767f254963 100644
--- a/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupRestoreConstants.java
+++ b/hbase-backup/src/main/java/org/apache/hadoop/hbase/backup/BackupRestoreConstants.java
@@ -111,7 +111,7 @@ public interface BackupRestoreConstants {
     + CoprocessorHost.REGION_COPROCESSOR_CONF_KEY + "=YOUR_CLASSES,"
     + BackupObserver.class.getSimpleName() + "\n" + CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY
     + "=YOUR_CLASSES," + BackupMasterObserver.class.getSimpleName() + "\nand restart the cluster\n"
-    + "For more information please see http://hbase.apache.org/book.html#backuprestore\n";
+    + "For more information please see https://hbase.apache.org/docs/backup-restore\n";
   String ENABLE_BACKUP = "Backup is not enabled. To enable backup, " + "in hbase-site.xml, set:\n "
     + BACKUP_CONFIG_STRING;
 
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java
index 42f25fdc56f..71e0c93658b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.java
@@ -818,8 +818,8 @@ public class ColumnFamilyDescriptorBuilder {
 
     /**
      * Compression types supported in hbase. LZO is not bundled as part of the hbase distribution.
-     * See See <a href="http://hbase.apache.org/book.html#lzo.compression">LZO Compression</a> for
-     * how to enable it.
+     * See <a href="https://hbase.apache.org/docs/compression#install-hadoop-native-lzo-support">
+     * LZO Compression</a> for how to enable it.
      * @param type Compression type setting.
      * @return this (for chained invocation)
      */
@@ -893,8 +893,8 @@ public class ColumnFamilyDescriptorBuilder {
 
     /**
      * Compression types supported in hbase. LZO is not bundled as part of the hbase distribution.
-     * See See <a href="http://hbase.apache.org/book.html#lzo.compression">LZO Compression</a> for
-     * how to enable it.
+     * See <a href="https://hbase.apache.org/docs/compression#install-hadoop-native-lzo-support">
+     * LZO Compression</a> for how to enable it.
      * @param type Compression type setting.
      * @return this (for chained invocation)
      */
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKConnectionRegistry.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKConnectionRegistry.java
index ebb43723b8f..d31c0090f56 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKConnectionRegistry.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKConnectionRegistry.java
@@ -85,7 +85,7 @@ class ZKConnectionRegistry implements ConnectionRegistry {
       synchronized (WARN_LOCK) {
         if (NEEDS_LOG_WARN) {
           LOG.warn(
-            "ZKConnectionRegistry is deprecated. See https://hbase.apache.org/book.html#client.rpcconnectionregistry");
+            "ZKConnectionRegistry is deprecated. See https://hbase.apache.org/docs/architecture/client#rpc-connection-registry-new-as-of-250");
           NEEDS_LOG_WARN = false;
         }
       }
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/package-info.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/package-info.java
index dd85d3e0628..e29ab817849 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/package-info.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/package-info.java
@@ -200,11 +200,11 @@ public class MyLittleHBaseClient {
 
 <h2><a name="related" >Related Documentation</a></h2>
 <ul>
-  <li><a href="http://hbase.org/">HBase Home Page</a>
-  <li><a href="http://hadoop.apache.org/">Hadoop Home Page</a>
+  <li><a href="https://hbase.apache.org/">HBase Home Page</a>
+  <li><a href="https://hadoop.apache.org/">Hadoop Home Page</a>
 </ul>
   <p>See also the section in the HBase Reference Guide where it discusses
-  <a href="http://hbase.apache.org/book.html#client">HBase Client</a>.  It
+  <a href="https://hbase.apache.org/docs/architecture/client">HBase Client</a>.  It
   has section on how to access HBase from inside your multithreaded environment
   how to control resources consumed client-side, etc.</p>
 */
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
index d7eef52a4f9..a6152c137a8 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/AuthUtil.java
@@ -67,9 +67,9 @@ import org.slf4j.LoggerFactory;
  * </pre>
  *
  * This class will be internal used only from 2.2.0 version, and will transparently work for
- * kerberized applications. For more, please refer
- * <a href="http://hbase.apache.org/book.html#hbase.secure.configuration">Client-side Configuration
- * for Secure Operation</a>
+ * kerberized applications. For more, please refer <a
+ * href="https://hbase.apache.org/docs/security/client-access>Secure Client Access to Apache
+ * HBase</a>
  * @deprecated since 2.2.0, to be marked as
  *             {@link org.apache.yetus.audience.InterfaceAudience.Private} in 4.0.0.
  * @see <a href="https://issues.apache.org/jira/browse/HBASE-20886">HBASE-20886</a>
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Sleeper.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Sleeper.java
index 8fdcc189ea8..e5140971748 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Sleeper.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/Sleeper.java
@@ -86,7 +86,7 @@ public class Sleeper {
           LOG.warn(
             "We slept {}ms instead of {}ms, this is likely due to a long "
               + "garbage collecting pause and it's usually bad, see "
-              + "http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired",
+              + "https://hbase.apache.org/docs/troubleshooting#zookeeper-sessionexpired-events-toc",
             slept, this.period);
         }
       } catch (InterruptedException iex) {
diff --git a/hbase-common/src/main/resources/hbase-default.xml b/hbase-common/src/main/resources/hbase-default.xml
index 6f0d7e6b41f..6e8b9ea9e1f 100644
--- a/hbase-common/src/main/resources/hbase-default.xml
+++ b/hbase-common/src/main/resources/hbase-default.xml
@@ -1058,7 +1058,8 @@ possible configurations would overwhelm and obscure the important.
     mmap means the content will be in an mmaped file. Use mmap:PATH_TO_FILE. 'pmem'
     is bucket cache over a file on the persistent memory device.
     Use pmem:PATH_TO_FILE.
-    See http://hbase.apache.org/book.html#offheap.blockcache for more information.
+    See https://hbase.apache.org/docs/architecture/regionserver#off-heap-block-cache
+    for more information.
     </description>
   </property>
   <property>
@@ -1100,7 +1101,8 @@ possible configurations would overwhelm and obscure the important.
       <name>hfile.format.version</name>
       <value>3</value>
       <description>The HFile format version to use for new files.
-      Version 3 adds support for tags in hfiles (See http://hbase.apache.org/book.html#hbase.tags).
+      Version 3 adds support for tags in hfiles (See
+      https://hbase.apache.org/docs/security/data-access#tags).
       Also see the configuration 'hbase.replication.rpc.codec'.
       </description>
   </property>
diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java
index 435dde9af49..ac5a55138fc 100644
--- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java
+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java
@@ -159,9 +159,9 @@ public class ProfileServlet extends HttpServlet {
       setResponseHeader(resp);
       resp.getWriter()
         .write("ASYNC_PROFILER_HOME env is not set.\n\n"
-          + "Please ensure the prerequsites for the Profiler Servlet have been installed and the\n"
+          + "Please ensure the prerequisites for the Profiler Servlet have been installed and the\n"
           + "environment is properly configured. For more information please see\n"
-          + "http://hbase.apache.org/book.html#profiler\n");
+          + "https://hbase.apache.org/docs/profiler\n");
       return;
     }
 
@@ -381,7 +381,7 @@ public class ProfileServlet extends HttpServlet {
         .write("The profiler servlet was disabled at startup.\n\n"
           + "Please ensure the prerequisites for the Profiler Servlet have been installed and the\n"
           + "environment is properly configured. For more information please see\n"
-          + "http://hbase.apache.org/book.html#profiler\n");
+          + "https://hbase.apache.org/docs/profiler\n");
       return;
     }
 
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java
index dc7384e13f1..1b591d0a767 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestBase.java
@@ -136,7 +136,8 @@ public abstract class IntegrationTestBase extends AbstractHBaseTool {
     ChoreService choreService = null;
 
     // Launches chore for refreshing kerberos credentials if security is enabled.
-    // Please see http://hbase.apache.org/book.html#_running_canary_in_a_kerberos_enabled_cluster
+    // Please see
+    // https://hbase.apache.org/docs/operational-management/tools#running-canary-in-a-kerberos-enabled-cluster
     // for more details.
     final ScheduledChore authChore = AuthUtil.getAuthChore(conf);
     if (authChore != null) {
diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/package-info.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/package-info.java
index b375b3980b5..ead66ef69eb 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/package-info.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/package-info.java
@@ -20,7 +20,7 @@
 Provides HBase <a href="https://cwiki.apache.org/confluence/display/HADOOP2/HadoopMapReduce">MapReduce</a>
 Input/OutputFormats, a table indexing MapReduce job, and utility methods.
 
-<p>See <a href="http://hbase.apache.org/book.html#mapreduce">HBase and MapReduce</a>
+<p>See <a href="https://hbase.apache.org/docs/mapreduce">HBase and MapReduce</a>
 in the HBase Reference Guide for mapreduce over hbase documentation.
 */
 package org.apache.hadoop.hbase.mapred;
diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.java
index a3d55a4cbf2..d060109760d 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * This class is not suitable as partitioner creating hfiles for incremental bulk loads as region
  * spread will likely change between time of hfile creation and load time. See
  * {@link org.apache.hadoop.hbase.tool.BulkLoadHFiles} and
- * <a href="http://hbase.apache.org/book.html#arch.bulk.load">Bulk Load</a>.
+ * <a href="https://hbase.apache.org/docs/architecture/bulk-loading">Bulk Loading</a>.
  * </p>
  * @param <KEY>   The type of the key.
  * @param <VALUE> The type of the value.
diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/package-info.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/package-info.java
index 29b63096902..9388d7bfbe8 100644
--- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/package-info.java
+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/package-info.java
@@ -20,7 +20,7 @@
 Provides HBase <a href="https://cwiki.apache.org/confluence/display/HADOOP2/HadoopMapReduce">MapReduce</a>
 Input/OutputFormats, a table indexing MapReduce job, and utility methods.
 
-<p>See <a href="http://hbase.apache.org/book.html#mapreduce">HBase and MapReduce</a>
+<p>See <a href="https://hbase.apache.org/docs/mapreduce">HBase and MapReduce</a>
 in the HBase Reference Guide for mapreduce over hbase documentation.
 */
 package org.apache.hadoop.hbase.mapreduce;
diff --git a/hbase-metrics-api/README.txt b/hbase-metrics-api/README.txt
index ddba89b506d..5642fb33772 100644
--- a/hbase-metrics-api/README.txt
+++ b/hbase-metrics-api/README.txt
@@ -72,7 +72,7 @@ of the metric registries in the MetricRegistries.global() instance.
 
 
 References
-1. https://hbase.apache.org/book.html#hbase.versioning
+1. https://hbase.apache.org/docs/upgrading/version-number
 2. http://metrics.dropwizard.io/
 3. https://hadoop.apache.org/docs/r2.7.2/api/org/apache/hadoop/metrics2/package-summary.html
 4. https://issues.apache.org/jira/browse/HBASE-9774
diff --git a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/package.html b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/package.html
index 1129023b284..89744c7dea6 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/package.html
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/package.html
@@ -24,7 +24,7 @@
 <h1>HBase REST</h1>
 This package provides a RESTful Web service front end for HBase.
 <p>
-The documentation that used to live in this file has moved to the <a href="http://hbase.apache.org/book.html#_rest">HBase Reference Guide</a>.
+The documentation that used to live in this file has moved to the <a href="https://hbase.apache.org/docs/external-apis/#rest">HBase Reference Guide</a>.
 <p>
 
 </body>
diff --git a/hbase-rest/src/main/resources/hbase-webapps/rest/rest.jsp b/hbase-rest/src/main/resources/hbase-webapps/rest/rest.jsp
index b5a706d3513..eca9a055309 100644
--- a/hbase-rest/src/main/resources/hbase-webapps/rest/rest.jsp
+++ b/hbase-rest/src/main/resources/hbase-webapps/rest/rest.jsp
@@ -79,7 +79,7 @@
     <div class="row">
 
     <section>
-<a href="http://hbase.apache.org/book.html#_rest">Apache HBase documentation about REST</a>
+<a href="https://hbase.apache.org/docs/external-apis#rest">Apache HBase documentation about REST</a>
     </section>
     </div>
 </div>
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java
index 080f6d1e139..debfc09442a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java
@@ -224,7 +224,7 @@ public final class BlockCacheFactory {
     }
     if (c.get("hbase.bucketcache.percentage.in.combinedcache") != null) {
       LOG.warn("Configuration 'hbase.bucketcache.percentage.in.combinedcache' is no longer "
-        + "respected. See comments in http://hbase.apache.org/book.html#_changes_of_note");
+        + "respected. See comments in https://hbase.apache.org/docs/upgrading/paths#changes-of-note");
     }
     int writerThreads =
       c.getInt(BUCKET_CACHE_WRITER_THREADS_KEY, DEFAULT_BUCKET_CACHE_WRITER_THREADS);
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
index 74b560022a8..cabd5c7991b 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
@@ -69,7 +69,7 @@ public class FixedFileTrailer {
    * In version 1, the offset to the data block index. Starting from version 2, the meaning of this
    * field is the offset to the section of the file that should be loaded at the time the file is
    * being opened: i.e. on open we load the root index, file info, etc. See
-   * http://hbase.apache.org/book.html#_hfile_format_2 in the reference guide.
+   * <a href="https://hbase.apache.org/docs/hfile-format/">HFile Format</a> in the reference guide.
    */
   private long loadOnOpenDataOffset;
 
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/package-info.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/package-info.java
index d4a279cb996..4c69f47a478 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/package-info.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/package-info.java
@@ -32,13 +32,15 @@
  * 
  * <h1>Which BlockCache should I use?</h1>
  * By default LruBlockCache is on.  If you would like to cache more, and offheap (offheap
- * usually means less GC headache), try enabling * BucketCache. Fetching will always
+ * usually means less GC headache), try enabling BucketCache. Fetching will always
  * be slower when fetching from BucketCache but latencies tend to be less erratic over time
  * (roughly because GC is less). See Nick Dimiduk's
  * <a href="http://www.n10k.com/blog/blockcache-101/">BlockCache 101</a> for some numbers.
  *
  * <h1>Enabling {@link org.apache.hadoop.hbase.io.hfile.bucket.BucketCache}</h1>
- * See the HBase Reference Guide <a href="http://hbase.apache.org/book.html#enable.bucketcache">Enable BucketCache</a>.
+ * See the HBase Reference Guide <a
+ * href="https://hbase.apache.org/docs/architecture/regionserver#how-to-enable-bucketcache">
+ * Enable BucketCache</a>.
  *
  */
 package org.apache.hadoop.hbase.io.hfile;
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java
index 0e666fe6c94..78df4b80dbf 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/procedure2/store/region/RegionProcedureStore.java
@@ -143,8 +143,8 @@ public class RegionProcedureStore extends ProcedureStoreBase {
       if (procs != null) {
         LOG.error("Unsupported procedure type {} found, please rollback your master to the old"
           + " version to finish them, and then try to upgrade again."
-          + " See https://hbase.apache.org/book.html#upgrade2.2 for more details."
-          + " The full procedure list: {}", clazz, procs);
+          + " See https://hbase.apache.org/docs/upgrading/paths#upgrade-from-20-or-21-to-22"
+          + " for more details. The full procedure list: {}", clazz, procs);
         throw new HBaseIOException("Unsupported procedure type " + clazz + " found");
       }
     }
@@ -158,7 +158,8 @@ public class RegionProcedureStore extends ProcedureStoreBase {
       LOG.error("At least one ServerCrashProcedure is going to schedule a RecoverMetaProcedure,"
         + " which is not supported any more. Please rollback your master to the old version to"
         + " finish them, and then try to upgrade again."
-        + " See https://hbase.apache.org/book.html#upgrade2.2 for more details.");
+        + " See https://hbase.apache.org/docs/upgrading/paths#upgrade-from-20-or-21-to-22"
+        + " for more details.");
       throw new HBaseIOException("Unsupported procedure state found for ServerCrashProcedure");
     }
   }
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java
index 4ac1d7c6396..bd4cab01843 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplit.java
@@ -507,7 +507,8 @@ public class CompactSplit implements CompactionRequester, PropagatingConfigurati
   private boolean shouldSplitRegion(RegionInfo ri) {
     if (server.getNumberOfOnlineRegions() > 0.9 * regionSplitLimit) {
       LOG.warn("Total number of regions is approaching the upper limit " + regionSplitLimit + ". "
-        + "Please consider taking a look at http://hbase.apache.org/book.html#ops.regionmgt");
+        + "Please consider taking a look at "
+        + "https://hbase.apache.org/docs/operational-management/region-and-capacity#region-management");
     }
     return (regionSplitLimit > server.getNumberOfOnlineRegions()
       // Do not attempt to split secondary region replicas, as this is not allowed and our request
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.java
index 4d6f57e22ed..6e3f6f9c4f9 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/BulkLoadHFilesTool.java
@@ -1160,7 +1160,7 @@ public class BulkLoadHFilesTool extends Configured implements BulkLoadHFiles, To
       + "=yes to ignore unmatched column families.\n"
       + " -loadTable for when directory of files to load has a depth of 3; target table must "
       + "exist;\n" + " must be last of the options on command line.\n"
-      + "See http://hbase.apache.org/book.html#arch.bulk.load.complete.strays for "
+      + "See https://hbase.apache.org/docs/architecture/bulk-loading#adopting-stray-data for "
       + "documentation.\n");
   }
 
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/CanaryTool.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/CanaryTool.java
index f21edd176d4..8d389b7238c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/CanaryTool.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/CanaryTool.java
@@ -1058,7 +1058,8 @@ public class CanaryTool implements Tool, Canary {
     ChoreService choreService = null;
 
     // Launches chore for refreshing kerberos credentials if security is enabled.
-    // Please see http://hbase.apache.org/book.html#_running_canary_in_a_kerberos_enabled_cluster
+    // Please see
+    // https://hbase.apache.org/docs/operational-management/tools#running-canary-in-a-kerberos-enabled-cluster
     // for more details.
     final ScheduledChore authChore = AuthUtil.getAuthChore(conf);
     if (authChore != null) {
@@ -1186,7 +1187,8 @@ public class CanaryTool implements Tool, Canary {
     System.err.println("To sniff/probe all regions, pass no arguments.");
     System.err.println("To sniff/probe all regions of a table, pass tablename.");
     System.err.println("To sniff/probe regionservers, pass -regionserver, etc.");
-    System.err.println("See http://hbase.apache.org/book.html#_canary for Canary documentation.");
+    System.err.println(
+      "See https://hbase.apache.org/docs/operational-management/tools#canary for Canary documentation.");
     System.exit(USAGE_EXIT_CODE);
   }
 
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
index 3b446826b77..d504571ea90 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
@@ -438,7 +438,7 @@ public final class FSUtils {
     } else {
       msg = "HBase file layout needs to be upgraded. Current filesystem version is " + version
         + " but software requires version " + HConstants.FILE_SYSTEM_VERSION
-        + ". Consult http://hbase.apache.org/book.html for further information about "
+        + ". Consult https://hbase.apache.org/docs for further information about "
         + "upgrading HBase.";
     }
 
diff --git a/hbase-server/src/main/javadoc/org/apache/hadoop/hbase/replication/package.html b/hbase-server/src/main/javadoc/org/apache/hadoop/hbase/replication/package.html
index 8a42139c45e..688f1766d98 100644
--- a/hbase-server/src/main/javadoc/org/apache/hadoop/hbase/replication/package.html
+++ b/hbase-server/src/main/javadoc/org/apache/hadoop/hbase/replication/package.html
@@ -22,6 +22,6 @@
 <head />
 <body bgcolor="white">
 <h1>Multi Cluster Replication</h1>
-<p>Cluster replication documentation has been moved to the link:http://hbase.apache.org/book.html#_cluster_replication[Cluster Replication] section of the link:http://hbase.apache.org/book.html[Apache HBase Reference Guide].</p>
+<p>Cluster replication documentation has been moved to <a href="https://hbase.apache.org/docs/operational-management/cluster-replication">Cluster Replication</a> section of <a href="https://hbase.apache.org/docs">Apache HBase Reference Guide</a>.</p>
 </body>
 </html>
diff --git a/hbase-server/src/main/javadoc/overview.html b/hbase-server/src/main/javadoc/overview.html
index 8b7f9186969..aca10424d44 100644
--- a/hbase-server/src/main/javadoc/overview.html
+++ b/hbase-server/src/main/javadoc/overview.html
@@ -22,7 +22,7 @@
     <title>HBase</title>
 </head>
 <body bgcolor="white">
-<a href="http://hbase.org">HBase</a> is a scalable, distributed database built on <a href="http://hadoop.apache.org/core">Hadoop Core</a>.
+<a href="https://hbase.apache.org/">HBase</a> is a scalable, distributed database built on <a href="https://hadoop.apache.org/">Hadoop Core</a>.
 
 <h2>Table of Contents</h2>
 <ul>
@@ -35,8 +35,8 @@
 
 
 <h2><a name="getting_started" >Getting Started</a></h2>
-<p>See the <a href="../book.html#getting_started">Getting Started</a>
-section of the <a href="../book.html">HBase Book</a>.
+<p>See the <a href="https://hbase.apache.org/docs/getting-started">Getting Started</a>
+section of the <a href="https://hbase.apache.org/docs">HBase Reference Guide</a>.
 </p>
 
 <h2><a name="client_example">Example API Usage</a></h2>
@@ -46,10 +46,9 @@ section of the <a href="../book.html">HBase Book</a>.
 
 <h2><a name="related" >Related Documentation</a></h2>
 <ul>
-  <li><a href="http://hbase.org">HBase Home Page</a> </li>
-  <li><a href="http://hbase.apache.org/book/book.html">HBase Book</a> </li>
-  <li><a href="http://hadoop.apache.org/">Hadoop Home Page</a> </li>
-  </li>
+  <li><a href="https://hbase.apache.org/">HBase Home Page</a> </li>
+  <li><a href="https://hbase.apache.org/docs">HBase Reference Guide</a> </li>
+  <li><a href="https://hadoop.apache.org/">Hadoop Home Page</a> </li>
 </ul>
 
 </body>
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/warnings.jsp b/hbase-server/src/main/resources/hbase-webapps/master/warnings.jsp
index b0044c97f45..217cf5b9153 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/warnings.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/warnings.jsp
@@ -36,7 +36,7 @@
 <div class="alert alert-danger" role="alert">
   Your current JVM version <%= System.getProperty("java.version") %> is known to be
   unstable with HBase. Please see the
-  <a href="http://hbase.apache.org/book.html#trouble.log.gc">HBase Reference Guide</a>
+  <a href="https://hbase.apache.org/docs/troubleshooting#jvm-garbage-collection-logs">HBase Reference Guide</a>
   for details.
 </div>
 <% } %>
diff --git a/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheBaseInfo.jsp b/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheBaseInfo.jsp
index d7d322d4754..75a09e0c407 100644
--- a/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheBaseInfo.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheBaseInfo.jsp
@@ -39,4 +39,4 @@
     <td>Block cache implementing class</td>
   </tr>
 </table>
-<p>See <a href="http://hbase.apache.org/book.html#block.cache">block cache</a> in the HBase Reference Guide for help.</p>
+<p>See <a href="https://hbase.apache.org/docs/architecture/regionserver#architecture-regionserver-block-cache">block cache</a> in the HBase Reference Guide for help.</p>
diff --git a/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheLevel.jsp b/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheLevel.jsp
index 47cc6a5a985..a59cf2854c8 100644
--- a/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheLevel.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/regionserver/blockCacheLevel.jsp
@@ -73,7 +73,7 @@
   <tr>
     <td>IOEngine</td>
     <td><%= bucketCache.getIoEngine() %></td>
-    <td>Supported IOEngine types: offheap, file, files, mmap or pmem. See <a href="https://hbase.apache.org/book.html#hbase.bucketcache.ioengine">hbase.bucketcache.ioengine</a>.</td>
+    <td>Supported IOEngine types: offheap, file, files, mmap or pmem. See <a href="https://hbase.apache.org/docs/configuration/default#hbasebucketcacheioengine-toc">hbase.bucketcache.ioengine</a>.</td>
   </tr>
 <% } %>
   <tr>
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtil.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtil.java
index 5d11bf28815..9fab2ca2938 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtil.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtil.java
@@ -2479,8 +2479,9 @@ public class HBaseTestingUtil extends HBaseZKTestingUtil {
   }
 
   /**
-   * Expire a ZooKeeper session as recommended in ZooKeeper documentation
-   * http://hbase.apache.org/book.html#trouble.zookeeper
+   * Expire a ZooKeeper session as recommended in ZooKeeper documentation <a href=
+   * "https://hbase.apache.org/docs/troubleshooting#troubleshooting-zookeeper">Troubleshooting
+   * ZooKeeper</a>
    * <p/>
    * There are issues when doing this:
    * <ol>
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
index cc895d21ac6..7af3e6f05c5 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java
@@ -207,7 +207,7 @@ public class TestAccessController extends SecureTestUtil {
   private static User USER_GROUP_WRITE;
 
   // TODO: convert this test to cover the full matrix in
-  // https://hbase.apache.org/book/appendix_acl_matrix.html
+  // https://hbase.apache.org/docs/acl-matrix
   // creating all Scope x Permission combinations
 
   private static TableName TEST_TABLE2 = TableName.valueOf("testtable2");
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController3.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController3.java
index 222a73b8356..1dfaef86e5d 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController3.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController3.java
@@ -108,7 +108,7 @@ public class TestAccessController3 extends SecureTestUtil {
   private static User USER_GROUP_WRITE;
 
   // TODO: convert this test to cover the full matrix in
-  // https://hbase.apache.org/book/appendix_acl_matrix.html
+  // https://hbase.apache.org/docs/acl-matrix
   // creating all Scope x Permission combinations
 
   private static byte[] TEST_FAMILY = Bytes.toBytes("f1");
diff --git a/hbase-shell/src/main/ruby/shell.rb b/hbase-shell/src/main/ruby/shell.rb
index 07da8a48dbd..81baaf76d30 100644
--- a/hbase-shell/src/main/ruby/shell.rb
+++ b/hbase-shell/src/main/ruby/shell.rb
@@ -215,7 +215,7 @@ module Shell
       puts 'HBase Shell'
       puts 'Use "help" to get list of supported commands.'
       puts 'Use "exit" to quit this interactive shell.'
-      puts 'For Reference, please visit: http://hbase.apache.org/book.html#shell'
+      puts 'For Reference, please visit: https://hbase.apache.org/docs/shell'
       print 'Version '
       command('version')
       puts
@@ -298,7 +298,7 @@ double-quote'd hexadecimal representation. For example:
   hbase> put 't1', "test\\xef\\xff", 'f1:', "\\x01\\x33\\x40"
 
 The HBase shell is the (J)Ruby IRB with the above HBase-specific commands added.
-For more on the HBase Shell, see http://hbase.apache.org/book.html
+For more on the HBase Shell, see https://hbase.apache.org/docs
       HERE
     end
 
diff --git a/hbase-shell/src/main/ruby/shell/commands/update_all_config.rb b/hbase-shell/src/main/ruby/shell/commands/update_all_config.rb
index a3907a17f0d..12838e1ef7f 100644
--- a/hbase-shell/src/main/ruby/shell/commands/update_all_config.rb
+++ b/hbase-shell/src/main/ruby/shell/commands/update_all_config.rb
@@ -23,7 +23,7 @@ module Shell
       def help
         <<-EOF
 Reload a subset of configuration on all servers in the cluster.  See
-http://hbase.apache.org/book.html#dyn_config for more details. Here is how
+https://hbase.apache.org/docs/configuration/dynamic for more details. Here is how
 you would run the command in the hbase shell:
   hbase> update_all_config
 EOF
diff --git a/hbase-shell/src/main/ruby/shell/commands/update_config.rb b/hbase-shell/src/main/ruby/shell/commands/update_config.rb
index e492db56f7c..0756639db4c 100644
--- a/hbase-shell/src/main/ruby/shell/commands/update_config.rb
+++ b/hbase-shell/src/main/ruby/shell/commands/update_config.rb
@@ -24,7 +24,7 @@ module Shell
         <<-EOF
 Reload a subset of configuration on server 'servername' where servername is
 host, port plus startcode. For example: host187.example.com,60020,1289493121758
-See http://hbase.apache.org/book.html#dyn_config for more details. Here is how
+See https://hbase.apache.org/docs/configuration/dynamic for more details. Here is how
 you would run the command in the hbase shell:
   hbase> update_config 'servername'
 EOF
diff --git a/hbase-shell/src/main/ruby/shell/commands/update_rsgroup_config.rb b/hbase-shell/src/main/ruby/shell/commands/update_rsgroup_config.rb
index 4f89fa91f73..43fba022b7a 100644
--- a/hbase-shell/src/main/ruby/shell/commands/update_rsgroup_config.rb
+++ b/hbase-shell/src/main/ruby/shell/commands/update_rsgroup_config.rb
@@ -23,7 +23,7 @@ module Shell
       def help
         <<-EOF
 Reload a subset of configuration on all servers in the rsgroup.  See
-http://hbase.apache.org/book.html#dyn_config for more details. Here is how
+https://hbase.apache.org/docs/configuration/dynamic for more details. Here is how
 you would run the command in the hbase shell:
   hbase> update_rsgroup_config 'groupName'
 EOF
diff --git a/hbase-shell/src/test/ruby/shell/general_test_cluster.rb b/hbase-shell/src/test/ruby/shell/general_test_cluster.rb
index e1461fd935b..dfbadbeb65a 100644
--- a/hbase-shell/src/test/ruby/shell/general_test_cluster.rb
+++ b/hbase-shell/src/test/ruby/shell/general_test_cluster.rb
@@ -136,7 +136,7 @@ class ShellTest < Test::Unit::TestCase
     @shell.interactive = true
     output = capture_stdout { @shell.print_banner }
     @shell.interactive = false
-    link_regex = %r{For Reference, please visit: http://hbase.apache.org/book.html#shell}
+    link_regex = %r{For Reference, please visit: https://hbase.apache.org/docs/shell}
     assert_match(link_regex, output)
   end
 
diff --git a/hbase-testing-util/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/hbase-testing-util/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
index 156afd9b734..6e4759a6e53 100644
--- a/hbase-testing-util/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
+++ b/hbase-testing-util/src/main/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
@@ -2783,10 +2783,15 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
   }
 
   /**
-   * Expire a ZooKeeper session as recommended in ZooKeeper documentation
-   * http://hbase.apache.org/book.html#trouble.zookeeper There are issues when doing this: [1]
-   * http://www.mail-archive.com/dev@zookeeper.apache.org/msg01942.html [2]
-   * https://issues.apache.org/jira/browse/ZOOKEEPER-1105
+   * Expire a ZooKeeper session as recommended in ZooKeeper documentation <a href=
+   * "https://hbase.apache.org/docs/troubleshooting#troubleshooting-zookeeper">Troubleshooting
+   * ZooKeeper</a>
+   * <p/>
+   * There are issues when doing this:
+   * <ol>
+   * <li>http://www.mail-archive.com/dev@zookeeper.apache.org/msg01942.html</li>
+   * <li>https://issues.apache.org/jira/browse/ZOOKEEPER-1105</li>
+   * </ol>
    * @param nodeZK      - the ZK watcher to expire
    * @param checkStatus - true to check if we can create a Table with the current configuration.
    */
diff --git a/hbase-thrift/src/main/resources/hbase-webapps/thrift/thrift.jsp b/hbase-thrift/src/main/resources/hbase-webapps/thrift/thrift.jsp
index d148df1f2e2..378ffa032f2 100644
--- a/hbase-thrift/src/main/resources/hbase-webapps/thrift/thrift.jsp
+++ b/hbase-thrift/src/main/resources/hbase-webapps/thrift/thrift.jsp
@@ -112,7 +112,7 @@
     </div>
     <div class="row">
         <section>
-            <a href="http://hbase.apache.org/book.html#_thrift">
+            <a href="https://hbase.apache.org/docs/external-apis#thrift>
               Apache HBase Reference Guide chapter on Thrift</a>
         </section>
     </div>