This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 2497db44b Automatic Site Publish by Buildbot
2497db44b is described below
commit 2497db44b59dd6858b17cc44ca26f96b1320bb56
Author: buildbot <[email protected]>
AuthorDate: Tue Oct 6 16:16:11 2026 +0000
Automatic Site Publish by Buildbot
---
output/README.md | 6 +
output/Rakefile | 32 +
output/docs/4.x/administration/caching.html | 4 +-
output/docs/4.x/administration/compaction.html | 2 -
output/docs/4.x/administration/erasure-coding.html | 2 -
output/docs/4.x/administration/fate.html | 2 -
.../docs/4.x/administration/in-depth-install.html | 2 -
output/docs/4.x/administration/merging.html | 2 -
.../4.x/administration/monitoring-metrics.html | 2 -
output/docs/4.x/administration/multivolume.html | 2 -
output/docs/4.x/administration/replication.html | 845 ---------------------
output/docs/4.x/administration/scan-executors.html | 2 -
output/docs/4.x/administration/upgrading.html | 11 +-
.../docs/4.x/configuration/client-properties.html | 4 +-
output/docs/4.x/configuration/files.html | 13 +-
output/docs/4.x/configuration/metrics.html | 2 -
output/docs/4.x/configuration/overview.html | 2 -
.../docs/4.x/configuration/server-properties.html | 4 +-
output/docs/4.x/development/development_tools.html | 2 -
output/docs/4.x/development/high_speed_ingest.html | 2 -
output/docs/4.x/development/iterators.html | 2 -
output/docs/4.x/development/mapreduce.html | 2 -
output/docs/4.x/development/proxy.html | 2 -
output/docs/4.x/development/sampling.html | 2 -
output/docs/4.x/development/spark.html | 2 -
output/docs/4.x/development/summaries.html | 2 -
output/docs/4.x/getting-started/clients.html | 2 -
output/docs/4.x/getting-started/design.html | 2 -
output/docs/4.x/getting-started/features.html | 2 -
output/docs/4.x/getting-started/glossary.html | 2 -
output/docs/4.x/getting-started/quickstart.html | 8 +-
output/docs/4.x/getting-started/shell.html | 2 -
.../4.x/getting-started/table_configuration.html | 2 -
output/docs/4.x/getting-started/table_design.html | 2 -
output/docs/4.x/security/authentication.html | 2 -
output/docs/4.x/security/authorizations.html | 2 -
output/docs/4.x/security/kerberos.html | 17 -
output/docs/4.x/security/on-disk-encryption.html | 8 +-
output/docs/4.x/security/overview.html | 2 -
output/docs/4.x/security/permissions.html | 2 -
output/docs/4.x/security/wire-encryption.html | 2 -
output/docs/4.x/troubleshooting/advanced.html | 2 -
output/docs/4.x/troubleshooting/basic.html | 4 +-
output/docs/4.x/troubleshooting/performance.html | 2 -
.../troubleshooting/system-metadata-tables.html | 2 -
output/docs/4.x/troubleshooting/tools.html | 2 -
output/docs/4.x/troubleshooting/tracing.html | 2 -
output/docs/4.x/troubleshooting/zookeeper.html | 2 -
output/feed.xml | 4 +-
49 files changed, 58 insertions(+), 974 deletions(-)
diff --git a/output/README.md b/output/README.md
index 0ed389a2c..20f663c53 100644
--- a/output/README.md
+++ b/output/README.md
@@ -109,6 +109,12 @@ HTML styled "just right".
Jekyll will print a local URL where the site can be viewed (usually,
[http://0.0.0.0:4000/](http://0.0.0.0:4000/)).
+To check internal links (also run in CI; scope is set in `Rakefile`):
+
+```bash
+bundle exec jekyll build && bundle exec rake links
+```
+
### Testing using a Container environment
Note: The example commands below use `podman`, but you can replace it with a
diff --git a/output/Rakefile b/output/Rakefile
new file mode 100644
index 000000000..b4eaed3dc
--- /dev/null
+++ b/output/Rakefile
@@ -0,0 +1,32 @@
+#
+# 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
+#
+# https://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.
+#
+
+require 'html-proofer'
+
+# Internal link check; run `jekyll build` first
+task :links do
+ HTMLProofer.check_directory('./_site', {
+ disable_external: true,
+ check_internal_hash: true,
+ enforce_https: false,
+ allow_missing_href: true,
+ # only docs/4.x is checked for now
+ ignore_files: [%r{^\./_site/(?!docs/4\.x/)}, %r{/apidocs/}],
+ }).run
+end
diff --git a/output/docs/4.x/administration/caching.html
b/output/docs/4.x/administration/caching.html
index bb55c0e38..7f970bd20 100644
--- a/output/docs/4.x/administration/caching.html
+++ b/output/docs/4.x/administration/caching.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row selected"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -426,7 +424,7 @@ for tables where read performance is critical.</p>
<h2 id="configuration">Configuration</h2>
-<p>The <a
href="/docs/4.x/configuration/server-properties#tserver_cache_manager_class">tserver.cache.manager.class</a>
property controls which block cache implementation is used within the tablet
server. Users
+<p>The <a
href="/docs/4.x/configuration/server-properties#general_block_cache_manager_class">general.block.cache.manager.class</a>
property controls which block cache implementation is used within the tablet
server. Users
can supply their own implementation and set custom configuration properties to
control its behavior (see
org.apache.accumulo.core.spi.cache.BlockCacheManager$Configuration.java).</p>
<p>The index and data block caches are configured for tables by the following
properties:</p>
diff --git a/output/docs/4.x/administration/compaction.html
b/output/docs/4.x/administration/compaction.html
index d5d4f10ac..1fe691aa2 100644
--- a/output/docs/4.x/administration/compaction.html
+++ b/output/docs/4.x/administration/compaction.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row selected"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/erasure-coding.html
b/output/docs/4.x/administration/erasure-coding.html
index bb6897b85..e77621ce2 100644
--- a/output/docs/4.x/administration/erasure-coding.html
+++ b/output/docs/4.x/administration/erasure-coding.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/fate.html
b/output/docs/4.x/administration/fate.html
index 724990adb..befd48137 100644
--- a/output/docs/4.x/administration/fate.html
+++ b/output/docs/4.x/administration/fate.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/in-depth-install.html
b/output/docs/4.x/administration/in-depth-install.html
index c7b7505f4..77675b930 100644
--- a/output/docs/4.x/administration/in-depth-install.html
+++ b/output/docs/4.x/administration/in-depth-install.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/merging.html
b/output/docs/4.x/administration/merging.html
index f92a42280..3b7c2edd3 100644
--- a/output/docs/4.x/administration/merging.html
+++ b/output/docs/4.x/administration/merging.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/monitoring-metrics.html
b/output/docs/4.x/administration/monitoring-metrics.html
index f8133bed5..89fd33e4b 100644
--- a/output/docs/4.x/administration/monitoring-metrics.html
+++ b/output/docs/4.x/administration/monitoring-metrics.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/multivolume.html
b/output/docs/4.x/administration/multivolume.html
index cb501999b..19ad5c2fc 100644
--- a/output/docs/4.x/administration/multivolume.html
+++ b/output/docs/4.x/administration/multivolume.html
@@ -320,8 +320,6 @@
<div class="row selected"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/replication.html
b/output/docs/4.x/administration/replication.html
deleted file mode 100644
index bb1707194..000000000
--- a/output/docs/4.x/administration/replication.html
+++ /dev/null
@@ -1,845 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<!--
- 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.
--->
-<meta charset="utf-8">
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-
-<link rel="stylesheet" type="text/css"
href="/css/bootstrap/5.3.3/dist/css/bootstrap.css">
-<link rel="stylesheet" type="text/css"
href="/css/fontawesome/fontawesome-free-6.6.0-web/css/all.css">
-<link rel="stylesheet" type="text/css"
href="/css/datatables/bs5/dt-2.0.8/datatables.css">
-<link rel="stylesheet" type="text/css" href="/css/accumulo.css">
-
-<title>Accumulo Documentation - Replication</title>
-
-<script type="text/javascript" src="/js/jquery/3.7.1/jquery.js"></script>
-<script type="text/javascript"
src="/js/bootstrap/5.3.3/dist/js/bootstrap.bundle.js"></script>
-<script type="text/javascript"
src="/js/datatables/bs5/dt-2.0.8/datatables.js"></script>
-<script type="text/javascript"
src="https://www.apachecon.com/event-images/snippet.js"></script>
-<script type="text/javascript" src="/js/accumulo.js"></script>
-</head>
-<body style="padding-top: 100px">
-
- <nav class="navbar navbar-expand-lg navbar-light fixed-top bg-light">
- <div class="container">
- <a class="navbar-brand" href="/">
- <img alt="Apache Accumulo" id="nav-logo" src="/images/accumulo-logo.png"
width="200">
- </a>
- <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbar-items">
- <span class="navbar-toggler-icon"></span>
- </button>
- <div class="collapse navbar-collapse" id="navbar-items">
- <ul class="navbar-nav me-auto">
- <li class="nav-item"><a class="nav-link"
href="/downloads">Download</a></li>
- <li class="nav-item"><a class="nav-link" href="/tour">Tour</a></li>
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown">Releases</a>
- <ul class="dropdown-menu">
- <li><a class="dropdown-item"
href="/release/accumulo-4.0.0-alpha-1/">4.0.0-alpha-1</a></li>
- <li><a class="dropdown-item" href="/release/accumulo-3.0.0/">3.0.0
(Latest non-LTM)</a></li>
- <li><a class="dropdown-item" href="/release/accumulo-2.1.6/">2.1.6
(Latest LTM)</a></li>
- <li><a class="dropdown-item"
href="/release/accumulo-1.10.4/">1.10.4 (Legacy LTM)</a></li>
- <li><a class="dropdown-item" href="/release/">Archive</a></li>
- </ul>
- </li>
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown">Documentation</a>
- <ul class="dropdown-menu">
- <li><a class="dropdown-item" href="/docs/2.x">User Manual
(2.x)</a></li>
- <li><a class="dropdown-item" href="/docs/2.x/apidocs">Javadocs
(2.x)</a></li>
- <li><a class="dropdown-item" href="/api">Public API</a></li>
- <li><a class="dropdown-item" href="/quickstart-1.x">Quickstart
(1.x)</a></li>
- <li><a class="dropdown-item"
href="/accumulo2-maven-plugin">Accumulo Maven Plugin</a></li>
- <li><a class="dropdown-item"
href="/1.10/accumulo_user_manual.html">User Manual (1.10)</a></li>
- <li><a class="dropdown-item" href="/1.10/apidocs">Javadocs
(1.10)</a></li>
- <li><a class="dropdown-item" href="/external-docs">External
Docs</a></li>
- <li><a class="dropdown-item" href="/docs-archive/">Archive</a></li>
- </ul>
- </li>
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown">Community</a>
- <ul class="dropdown-menu">
- <li><a class="dropdown-item" href="/contact-us">Contact Us</a></li>
- <li><a class="dropdown-item" href="/how-to-contribute">How To
Contribute</a></li>
- <li><a class="dropdown-item" href="/people">People</a></li>
- <li><a class="dropdown-item" href="/related-projects">Related
Projects</a></li>
- </ul>
- </li>
- <li class="nav-item"><a class="nav-link" href="/search">Search</a></li>
- </ul>
- <ul class="navbar-nav ms-auto">
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown">
- <img alt="Apache Software Foundation"
src="https://www.apache.org/foundation/press/kit/feather.svg" width="15"/>
- </a>
- <ul class="dropdown-menu dropdown-menu-end">
- <li><a class="dropdown-item" href="https://www.apache.org">Apache
Homepage <span class="fa-solid fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/licenses/">License <span class="fa-solid
fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/foundation/sponsorship">Sponsorship <span
class="fa-solid fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/security">Security <span class="fa-solid
fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/foundation/thanks">Thanks <span class="fa-solid
fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/foundation/policies/conduct">Code of Conduct <span
class="fa-solid fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/foundation/policies/privacy.html">Privacy
Policy<span class="fa-solid fa-up-right-from-square"></span></a></li>
- <li><a class="dropdown-item"
href="https://www.apache.org/events/current-event.html">Current Event <span
class="fa-solid fa-up-right-from-square"></span></a></li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
-</nav>
-
-
- <div class="container">
- <div class="row">
- <div class="col-md-12">
-
- <div id="non-canonical" style="display: none; background-color:
#F0E68C; padding-left: 1em;">
- Visit the official site at: <a
href="https://accumulo.apache.org">https://accumulo.apache.org</a>
- </div>
- <div id="content">
-
- <div class="alert alert-danger" style="margin-bottom: 0px;"
role="alert">
- This is a <strong>draft</strong> user guide for a future release of Accumulo
4.0.0!<br>
-</div>
-
-<div class="row">
- <div class="col-md-3">
- <div class="accordion sticky-top" id="myAccordion" style="top: 100px;">
-
-
-
-
-
-
-
-
-
-
-
- <div class="accordion-item">
- <div class="accordion-header fs-5 fw-bold"
id="headinggetting-started">
- <button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse" data-bs-target="#collapsegetting-started"
aria-expanded="false" aria-controls="collapsegetting-started">
- Getting started
- </button>
- </div>
- <div id="collapsegetting-started" class="accordion-collapse
collapse" aria-labelledby="headinggetting-started"
data-bs-parent="#myAccordion">
- <div class="accordion-body">
-
-
- <div class="row"><a
href="/docs/4.x/getting-started/quickstart">Setup</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/design">Design</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/features">Features</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/clients">Accumulo Clients</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/shell">Accumulo Shell</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/table_design">Table Design</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/table_configuration">Table
Configuration</a></div>
-
- <div class="row"><a
href="/docs/4.x/getting-started/glossary">Glossary</a></div>
-
- </div>
- </div>
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <div class="accordion-item">
- <div class="accordion-header fs-5 fw-bold"
id="headingdevelopment">
- <button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse" data-bs-target="#collapsedevelopment"
aria-expanded="false" aria-controls="collapsedevelopment">
- Development
- </button>
- </div>
- <div id="collapsedevelopment" class="accordion-collapse
collapse" aria-labelledby="headingdevelopment" data-bs-parent="#myAccordion">
- <div class="accordion-body">
-
-
- <div class="row"><a
href="/docs/4.x/development/iterators">Iterators</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/mapreduce">MapReduce</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/spark">Spark</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/development_tools">Development Tools</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/sampling">Sampling</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/summaries">Summary Statistics</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/proxy">Proxy</a></div>
-
- <div class="row"><a
href="/docs/4.x/development/high_speed_ingest">High-Speed Ingest</a></div>
-
- </div>
- </div>
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <div class="accordion-item">
- <div class="accordion-header fs-5 fw-bold" id="headingsecurity">
- <button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse" data-bs-target="#collapsesecurity"
aria-expanded="false" aria-controls="collapsesecurity">
- Security
- </button>
- </div>
- <div id="collapsesecurity" class="accordion-collapse collapse"
aria-labelledby="headingsecurity" data-bs-parent="#myAccordion">
- <div class="accordion-body">
-
-
- <div class="row"><a
href="/docs/4.x/security/overview">Security Overview</a></div>
-
- <div class="row"><a
href="/docs/4.x/security/authentication">Authentication</a></div>
-
- <div class="row"><a
href="/docs/4.x/security/permissions">Permissions</a></div>
-
- <div class="row"><a
href="/docs/4.x/security/authorizations">Authorizations</a></div>
-
- <div class="row"><a
href="/docs/4.x/security/on-disk-encryption">On Disk Encryption</a></div>
-
- <div class="row"><a
href="/docs/4.x/security/wire-encryption">Wire Encryption</a></div>
-
- <div class="row"><a
href="/docs/4.x/security/kerberos">Kerberos</a></div>
-
- </div>
- </div>
- </div>
-
-
-
-
-
-
-
-
-
- <div class="accordion-item">
- <div class="accordion-header fs-5 fw-bold"
id="headingconfiguration">
- <button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse" data-bs-target="#collapseconfiguration"
aria-expanded="false" aria-controls="collapseconfiguration">
- Configuration
- </button>
- </div>
- <div id="collapseconfiguration" class="accordion-collapse
collapse" aria-labelledby="headingconfiguration" data-bs-parent="#myAccordion">
- <div class="accordion-body">
-
-
- <div class="row"><a
href="/docs/4.x/configuration/overview">Configuration Overview</a></div>
-
- <div class="row"><a
href="/docs/4.x/configuration/files">Configuration Files</a></div>
-
- <div class="row"><a
href="/docs/4.x/configuration/client-properties">Client Properties
(4.x)</a></div>
-
- <div class="row"><a
href="/docs/4.x/configuration/server-properties">Server Properties
(4.x)</a></div>
-
- <div class="row"><a
href="/docs/4.x/configuration/metrics">Metrics Documentation (4.x)</a></div>
-
- </div>
- </div>
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <div class="accordion-item">
- <div class="accordion-header fs-5 fw-bold"
id="headingadministration">
- <button class="accordion-button " type="button"
data-bs-toggle="collapse" data-bs-target="#collapseadministration"
aria-expanded="true" aria-controls="collapseadministration">
- Administration
- </button>
- </div>
- <div id="collapseadministration" class="accordion-collapse
collapse show" aria-labelledby="headingadministration"
data-bs-parent="#myAccordion">
- <div class="accordion-body">
-
-
- <div class="row"><a
href="/docs/4.x/administration/in-depth-install">In-depth Installation</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/monitoring-metrics">Monitoring &
Metrics</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/fate">FATE</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
-
- <div class="row selected"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/merging">Merging</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/upgrading">Upgrading Accumulo</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/scan-executors">Scan Executors</a></div>
-
- <div class="row"><a
href="/docs/4.x/administration/erasure-coding">Erasure Coding</a></div>
-
- </div>
- </div>
- </div>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <div class="accordion-item">
- <div class="accordion-header fs-5 fw-bold"
id="headingtroubleshooting">
- <button class="accordion-button collapsed" type="button"
data-bs-toggle="collapse" data-bs-target="#collapsetroubleshooting"
aria-expanded="false" aria-controls="collapsetroubleshooting">
- Troubleshooting
- </button>
- </div>
- <div id="collapsetroubleshooting" class="accordion-collapse
collapse" aria-labelledby="headingtroubleshooting"
data-bs-parent="#myAccordion">
- <div class="accordion-body">
-
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/basic">Basic Troubleshooting</a></div>
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/advanced">Advanced Troubleshooting</a></div>
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/tools">Troubleshooting Tools</a></div>
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/system-metadata-tables">System Metadata
Tables</a></div>
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/performance">Performance</a></div>
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/tracing">Tracing</a></div>
-
- <div class="row"><a
href="/docs/4.x/troubleshooting/zookeeper">ZooKeeper</a></div>
-
- </div>
- </div>
- </div>
-
-
-
- </div>
- </div>
- <div class="col-md-9">
-
- <p>Accumulo 4.x Documentation >> Administration >>
Replication</p>
-
-
- <div class="row mt-4">
- <div class="col-md-12 d-flex justify-content-between">
- <h1>Replication</h1>
- <a
href="https://github.com/apache/accumulo-website/edit/main/_docs-4/administration/replication.md"
role="button"><span class="fa-solid fa-pen-to-square"></span> <small>Edit this
page</small></a>
- </div>
- </div>
-
- <h2 id="overview">Overview</h2>
-
-<p>Replication is a feature of Accumulo which provides a mechanism to
automatically
-copy data to other systems, typically for the purpose of disaster recovery,
-high availability, or geographic locality. It is best to consider this feature
-as a framework for automatic replication instead of the ability to copy data
-from to another Accumulo instance as copying to another Accumulo cluster is
-only an implementation detail. The local Accumulo cluster is hereby referred
-to as the <code class="language-plaintext highlighter-rouge">primary</code>
while systems being replicated to are known as
-<code class="language-plaintext highlighter-rouge">peers</code>.</p>
-
-<p>This replication framework makes two Accumulo instances, where one instance
-replicates to another, eventually consistent between one another, as opposed
-to the strong consistency that each single Accumulo instance still holds. That
-is to say, attempts to read data from a table on a peer which has pending
replication
-from the primary will not wait for that data to be replicated before running
the scan.
-This is desirable for a number of reasons, the most important is that the
replication
-framework is not limited by network outages or offline peers, but only by the
HDFS
-space available on the primary system.</p>
-
-<p>Replication configurations can be considered as a directed graph which
allows cycles.
-The systems in which data was replicated from is maintained in each Mutation
which
-allow each system to determine if a peer already has the data in which
-the system wants to send.</p>
-
-<p>Data is replicated by using the Write-Ahead logs (WAL) that each
TabletServer is
-already maintaining. TabletServers record which WALs have data that need to be
-replicated to the <code class="language-plaintext
highlighter-rouge">accumulo.metadata</code> table. The Manager uses these
records,
-combined with the local Accumulo table that the WAL was used with, to create
records
-in the <code class="language-plaintext highlighter-rouge">replication</code>
table which track which peers the given WAL should be
-replicated to. The Manager latter uses these work entries to assign the actual
-replication task to a local TabletServer using ZooKeeper. A TabletServer will
get
-a lock in ZooKeeper for the replication of this file to a peer, and proceed to
-replicate to the peer, recording progress in the <code
class="language-plaintext highlighter-rouge">replication</code> table as
-data is successfully replicated on the peer. Later, the Manager and Garbage
Collector
-will remove records from the <code class="language-plaintext
highlighter-rouge">accumulo.metadata</code> and <code class="language-plaintext
highlighter-rouge">replication</code> tables
-and files from HDFS, respectively, after replication to all peers is
complete.</p>
-
-<h2 id="configuration">Configuration</h2>
-
-<p>Configuration of Accumulo to replicate data to another system can be
categorized
-into the following sections.</p>
-
-<h3 id="site-configuration">Site Configuration</h3>
-
-<p>Each system involved in replication (even the primary) needs a name that
uniquely
-identifies it across all peers in the replication graph. This should be
considered
-fixed for an instance, and set using <a
href="/docs/4.x/configuration/server-properties#replication_name">replication.name</a>
in <code class="language-plaintext
highlighter-rouge">accumulo.properties</code>.</p>
-
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code># Unique name for this system used by replication
-replication.name=primary
-</code></pre></div></div>
-
-<h3 id="instance-configuration">Instance Configuration</h3>
-
-<p>For each peer of this system, Accumulo needs to know the name of that peer,
-the class used to replicate data to that system and some configuration
information
-to connect to this remote peer. In the case of Accumulo, this additional data
-is the Accumulo instance name and ZooKeeper quorum; however, this varies on the
-replication implementation for the peer.</p>
-
-<p>These can be set in <code class="language-plaintext
highlighter-rouge">accumulo.properties</code> to ease deployments; however, as
they may
-change, it can be useful to set this information using the Accumulo shell.</p>
-
-<p>To configure a peer with the name <code class="language-plaintext
highlighter-rouge">peer1</code> which is an Accumulo system with an instance
name of <code class="language-plaintext highlighter-rouge">accumulo_peer</code>
-and a ZooKeeper quorum of <code class="language-plaintext
highlighter-rouge">10.0.0.1,10.0.2.1,10.0.3.1</code>, invoke the following
-command in the shell.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@accumulo_primary></span><span
class="w"> </span>config <span class="nt">-s</span>
-<span
class="go">replication.peer.peer1=org.apache.accumulo.tserver.replication.AccumuloReplicaSystem,accumulo_peer,10.0.0.1,10.0.2.1,10.0.3.1
-</span></code></pre></div></div>
-
-<p>Since this is an Accumulo system, we also want to set a username and
password
-to use when authenticating with this peer. On our peer, we make a special user
-which has permission to write to the tables we want to replicate data into,
“replication”
-with a password of “password”. We then need to record this in the primary’s
configuration.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@accumulo_primary></span><span
class="w"> </span>config <span class="nt">-s</span>
replication.peer.user.peer1<span class="o">=</span>replication
-<span class="gp">root@accumulo_primary></span><span class="w">
</span>config <span class="nt">-s</span> replication.peer.password.peer1<span
class="o">=</span>password
-</code></pre></div></div>
-
-<p>Alternatively, when configuring replication on Accumulo running Kerberos, a
keytab
-file per peer can be configured instead of a password. The provided keytabs
must be readable
-by the unix user running Accumulo. They keytab for a peer can be unique from
the
-keytab used by Accumulo or any keytabs for other peers.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span
class="gp">[email protected]@accumulo_primary></span><span class="w">
</span>config <span class="nt">-s</span> replication.peer.user.peer1<span
class="o">=</span>[email protected]
-<span class="gp">[email protected]@accumulo_primary></span><span
class="w"> </span>config <span class="nt">-s</span>
replication.peer.keytab.peer1<span class="o">=</span>/path/to/replication.keytab
-</code></pre></div></div>
-
-<h3 id="table-configuration">Table Configuration</h3>
-
-<p>Now, we presently have a peer defined, so we just need to configure which
tables will
-replicate to that peer. We also need to configure an identifier to determine
where
-this data will be replicated on the peer. Since we’re replicating to another
Accumulo
-cluster, this is a table ID. In this example, we want to enable replication on
-<code class="language-plaintext highlighter-rouge">my_table</code> and
configure our peer <code class="language-plaintext
highlighter-rouge">accumulo_peer</code> as a target, sending
-the data to the table with an ID of <code class="language-plaintext
highlighter-rouge">2</code> in <code class="language-plaintext
highlighter-rouge">accumulo_peer</code>.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@accumulo_primary></span><span
class="w"> </span>config <span class="nt">-t</span> my_table <span
class="nt">-s</span> table.replication<span class="o">=</span><span
class="nb">true</span>
-<span class="gp">root@accumulo_primary></span><span class="w">
</span>config <span class="nt">-t</span> my_table <span class="nt">-s</span>
table.replication.target.accumulo_peer<span class="o">=</span>2
-</code></pre></div></div>
-
-<p>To replicate a single table on the primary to multiple peers, the second
command
-in the above shell snippet can be issued, for each peer and remote identifier
pair.</p>
-
-<h2 id="monitoring">Monitoring</h2>
-
-<p>Basic information about replication status from a primary can be found on
the Accumulo
-Monitor server, using the <code class="language-plaintext
highlighter-rouge">Replication</code> link the sidebar.</p>
-
-<p>On this page, information is broken down into the following sections:</p>
-
-<ol>
- <li>Files pending replication by peer and target</li>
- <li>Files queued for replication, with progress made</li>
-</ol>
-
-<h2 id="work-assignment">Work Assignment</h2>
-
-<p>Depending on the schema of a table, different implementations of the <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/WorkAssigner.html">WorkAssigner</a>
-used could be configured. The implementation is controlled via the property <a
href="/docs/4.x/configuration/server-properties#replication_work_assigner">replication.work.assigner</a>
-and the full class name for the implementation. This can be configured via the
shell or <code class="language-plaintext
highlighter-rouge">accumulo.properties</code>.</p>
-
-<p>Two implementations of <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/WorkAssigner.html">WorkAssigner</a>
are provided:</p>
-
-<ol>
- <li>
- <p>The <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-manager/4.0.0-alpha-1/org/apache/accumulo/manager/replication/UnorderedWorkAssigner.html">UnorderedWorkAssigner</a>
can be used to overcome the limitation
-of only a single WAL being replicated to a target and peer at any time.
Depending on the table schema,
-it’s possible that multiple versions of the same Key with different values are
infrequent or nonexistent.
-In this case, parallel replication to a peer and target is possible without
any downsides. In the case
-where this implementation is used were column updates are frequent, it is
possible that there will be
-an inconsistency between the primary and the peer.</p>
- </li>
- <li>
- <p>The <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-manager/4.0.0-alpha-1/org/apache/accumulo/manager/replication/SequentialWorkAssigner.html">SequentialWorkAssigner</a>
is configured for an
-instance. The SequentialWorkAssigner ensures that, per peer and each remote
identifier, each WAL is
-replicated in the order in which they were created. This is sufficient to
ensure that updates to a table
-will be replayed in the correct order on the peer. This implementation has the
downside of only replicating
-a single WAL at a time.</p>
- </li>
-</ol>
-
-<h2 id="replicasystems">ReplicaSystems</h2>
-
-<p><a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/ReplicaSystem.html">ReplicaSystem</a>
is the interface which allows abstraction of replication of data
-to peers of various types. Presently, only an <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/AccumuloReplicaSystem.html">AccumuloReplicaSystem</a>
is provided
-which will replicate data to another Accumulo instance. A <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/ReplicaSystem.html">ReplicaSystem</a>
implementation
-is run inside of the TabletServer process, and can be configured as mentioned
in <a
href="/docs/4.x/administration/replication#instance-configuration">Instance
Configuration</a>
-section of this document. Theoretically, an implementation of this interface
could send data to other filesystems, databases, etc.</p>
-
-<h3 id="accumuloreplicasystem">AccumuloReplicaSystem</h3>
-
-<p>The <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/AccumuloReplicaSystem.html">AccumuloReplicaSystem</a>
uses Thrift to communicate with a peer Accumulo instance
-and replicate the necessary data. The TabletServer running on the primary will
communicate
-with the Manager on the peer to request the address of a TabletServer on the
peer which
-this TabletServer will use to replicate the data.</p>
-
-<p>The TabletServer on the primary will then replicate data in batches of a
configurable
-size (<a
href="/docs/4.x/configuration/server-properties#replication_max_unit_size">replication.max.unit.size</a>).
The TabletServer on the peer will report how many
-records were applied back to the primary, which will be used to record how
many records
-were successfully replicated. The TabletServer on the primary will continue to
replicate
-data in these batches until no more data can be read from the file.</p>
-
-<h2 id="other-configuration">Other Configuration</h2>
-
-<p>There are a number of configuration values that can be used to control how
-the implementation of various components operate.</p>
-
-<ul>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_max_work_queue">replication.max.work.queue</a>
- Maximum number of files queued for replication at one time</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_work_assignment_sleep">replication.work.assignment.sleep</a>
- Time between invocations of the <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/WorkAssigner.html">WorkAssigner</a></li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_worker_threads">replication.worker.threads</a>
- Size of threadpool used to replicate data to peers</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_receipt_service_port">replication.receipt.service.port</a>
- Thrift service port to listen for replication requests, can use ‘0’ for a
random port</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_work_attempts">replication.work.attempts</a>
- Number of attempts to replicate to a peer before aborting the attempt</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_receiver_min_threads">replication.receiver.min.threads</a>
- Minimum number of idle threads for handling incoming replication</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_receiver_threadcheck_time">replication.receiver.threadcheck.time</a>
- Time between attempting adjustments of thread pool for incoming
replications</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_max_unit_size">replication.max.unit.size</a>
- Maximum amount of data to be replicated in one RPC</li>
- <li><a
href="/docs/4.x/configuration/server-properties#replication_work_assigner">replication.work.assigner</a>
- <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/WorkAssigner.html">WorkAssigner</a>
implementation</li>
- <li><a
href="/docs/4.x/configuration/server-properties#tserver_replication_batchwriter_replayer_memory">tserver.replication.batchwriter.replayer.memory</a>
- Size of BatchWriter cache to use in applying replication requests</li>
-</ul>
-
-<h2 id="example-practical-configuration">Example Practical Configuration</h2>
-
-<p>A real-life example is now provided to give concrete application of
replication configuration. This
-example is a two instance Accumulo system, one primary system and one peer
system. They are called
-<strong>primary</strong> and <strong>peer</strong>, respectively. Each system
also have a table of the same name, <code class="language-plaintext
highlighter-rouge">my_table</code>. The instance
-name for each is also the same (<code class="language-plaintext
highlighter-rouge">primary</code> and <code class="language-plaintext
highlighter-rouge">peer</code>), and both have ZooKeeper hosts on a node with a
hostname
-with that name as well (primary:2181 and peer:2181).</p>
-
-<p>We want to configure these systems so that <code class="language-plaintext
highlighter-rouge">my_table</code> on <strong>primary</strong> replicates to
<code class="language-plaintext highlighter-rouge">my_table</code> on
<strong>peer</strong>.</p>
-
-<h3 id="accumuloproperties">accumulo.properties</h3>
-
-<p>We can assign the “unique” name that identifies this Accumulo instance
among all others that might participate
-in replication together. In this example, we will use the names provided in
the description.</p>
-
-<h4 id="primary">Primary</h4>
-
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>replication.name=primary
-</code></pre></div></div>
-
-<h4 id="peer">Peer</h4>
-
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>replication.name=peer
-</code></pre></div></div>
-
-<h3 id="managers-and-tservers-files">managers and tservers files</h3>
-
-<p>Be <em>sure</em> to use non-local IP addresses. Other nodes need to connect
to it and using localhost will likely result in
-a local node talking to another local node.</p>
-
-<h3 id="start-both-instances">Start both instances</h3>
-
-<p>The rest of the configuration is dynamic and is best configured on the fly
(in ZooKeeper) than in accumulo.properties.</p>
-
-<h3 id="peer-1">Peer</h3>
-
-<p>The next series of command are to be run on the peer system. Create a user
account for the primary instance called
-“peer”. The password for this account will need to be saved in the
configuration on the primary</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@peer></span><span class="w">
</span>createtable my_table
-<span class="gp">root@peer></span><span class="w"> </span>createuser peer
-<span class="gp">root@peer></span><span class="w"> </span>grant <span
class="nt">-t</span> my_table <span class="nt">-u</span> peer Table.WRITE
-<span class="gp">root@peer></span><span class="w"> </span>grant <span
class="nt">-t</span> my_table <span class="nt">-u</span> peer Table.READ
-<span class="gp">root@peer></span><span class="w"> </span>tables <span
class="nt">-l</span>
-</code></pre></div></div>
-
-<p>Remember what the table ID for ‘my_table’ is. You’ll need that to configure
the primary instance.</p>
-
-<h3 id="primary-1">Primary</h3>
-
-<p>Next, configure the primary instance.</p>
-
-<h4 id="set-up-the-table">Set up the table</h4>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@primary></span><span
class="w"> </span>createtable my_table
-</code></pre></div></div>
-
-<h4 id="define-the-peer-as-a-replication-peer-to-the-primary">Define the Peer
as a replication peer to the Primary</h4>
-
-<p>We’re defining the instance with <a
href="/docs/4.x/configuration/server-properties#replication_name">replication.name</a>
of <code class="language-plaintext highlighter-rouge">peer</code> as a peer.
We provide the implementation of <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/ReplicaSystem.html">ReplicaSystem</a>
-that we want to use, and the configuration for the <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/AccumuloReplicaSystem.html">AccumuloReplicaSystem</a>.
In this case, the configuration is the Accumulo
-Instance name for <code class="language-plaintext
highlighter-rouge">peer</code> and the ZooKeeper quorum string. The
configuration key is of the form
-<code class="language-plaintext
highlighter-rouge">replication.peer.$peer_name</code>.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@primary></span><span
class="w"> </span>config <span class="nt">-s</span> replication.peer.peer<span
class="o">=</span>org.apache.accumulo.tserver.replication.AccumuloReplicaSystem,peer,<span
class="nv">$peer_zk_quorum</span>
-</code></pre></div></div>
-
-<h4 id="set-the-authentication-credentials">Set the authentication
credentials</h4>
-
-<p>We want to use that special username and password that we created on the
peer, so we have a means to write data to
-the table that we want to replicate to. The configuration key is of the form
“replication.peer.user.$peer_name”.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@primary></span><span
class="w"> </span>config <span class="nt">-s</span>
replication.peer.user.peer<span class="o">=</span>peer
-<span class="gp">root@primary></span><span class="w"> </span>config <span
class="nt">-s</span> replication.peer.password.peer<span class="o">=</span>peer
-</code></pre></div></div>
-
-<h4 id="enable-replication-on-the-table">Enable replication on the table</h4>
-
-<p>Now that we have defined the peer on the primary and provided the
authentication credentials, we need to configure
-our table with the implementation of <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/ReplicaSystem.html">ReplicaSystem</a>
we want to use to replicate to the peer. In this case, our peer
-is an Accumulo instance, so we want to use the <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/replication/AccumuloReplicaSystem.html">AccumuloReplicaSystem</a>.</p>
-
-<p>The configuration for the AccumuloReplicaSystem is the table ID for the
table on the peer instance that we
-want to replicate into. Be sure to use the correct value for $peer_table_id.
The configuration key is of
-the form “table.replication.target.$peer_name”.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@primary></span><span
class="w"> </span>config <span class="nt">-t</span> my_table <span
class="nt">-s</span> table.replication.target.peer<span class="o">=</span><span
class="nv">$peer_table_id</span>
-</code></pre></div></div>
-
-<p>Finally, we can enable replication on this table.</p>
-
-<div class="language-console highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><span class="gp">root@primary></span><span
class="w"> </span>config <span class="nt">-t</span> my_table <span
class="nt">-s</span> table.replication<span class="o">=</span><span
class="nb">true</span>
-</code></pre></div></div>
-
-<h2 id="extra-considerations-for-use">Extra considerations for use</h2>
-
-<p>While this feature is intended for general-purpose use, its implementation
does carry some baggage. Like any software,
-replication is a feature that operates well within some set of use cases but
is not meant to support all use cases.
-For the benefit of the users, we can enumerate these cases.</p>
-
-<h3 id="latency">Latency</h3>
-
-<p>As previously mentioned, the replication feature uses the Write-Ahead Log
files for a number of reasons, one of which
-is to prevent the need for data to be written to RFiles before it is available
to be replicated. While this can help
-reduce the latency for a batch of Mutations that have been written to
Accumulo, the latency is at least seconds to tens
-of seconds for replication once ingest is active. For a table which
replication has just been enabled on, this is likely
-to take a few minutes before replication will begin.</p>
-
-<p>Once ingest is active and flowing into the system at a regular rate,
replication should be occurring at a similar rate,
-given sufficient computing resources. Replication attempts to copy data at a
rate that is to be considered low latency
-but is not a replacement for custom indexing code which can ensure near
real-time referential integrity on secondary indexes.</p>
-
-<h3 id="table-configured-iterators">Table-Configured Iterators</h3>
-
-<p>Accumulo Iterators tend to be a heavy hammer which can be used to solve a
variety of problems. In general, it is highly
-recommended that Iterators which are applied at major compaction time are both
idempotent and associative due to the
-non-determinism in which some set of files for a Tablet might be compacted. In
practice, this translates to common patterns,
-such as aggregation, which are implemented in a manner resilient to
duplication (such as using a Set instead of a List).</p>
-
-<p>Due to the asynchronous nature of replication and the expectation that
hardware failures and network partitions will exist,
-it is generally not recommended to not configure replication on a table which
has Iterators set which are not idempotent.
-While the replication implementation can make some simple assertions to try to
avoid re-replication of data, it is not
-presently guaranteed that all data will only be sent to a peer once. Data will
be replicated at least once. Typically,
-this is not a problem as the VersioningIterator will automatically deduplicate
this over-replication because they will
-have the same timestamp; however, certain Combiners may result in inaccurate
aggregations.</p>
-
-<p>As a concrete example, consider a table which has the SummingCombiner
configured to sum all values for
-multiple versions of the same Key. For some key, consider a set of numeric
values that are written to a table on the
-primary: [1, 2, 3]. On the primary, all of these are successfully written and
thus the current value for the given key
-would be 6, (1 + 2 + 3). Consider, however, that each of these updates to the
peer were done independently (because
-other data was also included in the write-ahead log that needed to be
replicated). The update with a value of 1 was
-successfully replicated, and then we attempted to replicate the update with a
value of 2 but the remote server never
-responded. The primary does not know whether the update with a value of 2 was
actually applied or not, so the
-only recourse is to re-send the update. After we receive confirmation that the
update with a value of 2 was replicated,
-we will then replicate the update with 3. If the peer did never apply the
first update of ‘2’, the summation is accurate.
-If the update was applied but the acknowledgement was lost for some reason
(system failure, network partition), the
-update will be resent to the peer. Because addition is non-idempotent, we have
created an inconsistency between the
-primary and peer. As such, the SummingCombiner wouldn’t be recommended on a
table being replicated.</p>
-
-<p>While there are changes that could be made to the replication
implementation which could attempt to mitigate this risk,
-presently, it is not recommended to configure Iterators or Combiners which are
not idempotent to support cases where
-inaccuracy of aggregations is not acceptable.</p>
-
-<h3 id="duplicate-keys">Duplicate Keys</h3>
-
-<p>In Accumulo, when more than one key exists that are exactly the same, keys
that are equal down to the timestamp,
-the retained value is non-deterministic. Replication introduces another level
of non-determinism in this case.
-For a table that is being replicated and has multiple equal keys with
different values inserted into it, the final
-value in that table on the primary instance is not guaranteed to be the final
value on all replicas.</p>
-
-<p>For example, say the values that were inserted on the primary instance were
<code class="language-plaintext highlighter-rouge">value1</code> and <code
class="language-plaintext highlighter-rouge">value2</code> and the final
-value was <code class="language-plaintext highlighter-rouge">value1</code>, it
is not guaranteed that all replicas will have <code class="language-plaintext
highlighter-rouge">value1</code> like the primary. The final value is
-non-deterministic for each instance.</p>
-
-<p>As is the recommendation without replication enabled, if multiple values
for the same key (sans timestamp) are written to
-Accumulo, it is strongly recommended that the value in the timestamp properly
reflects the intended version by
-the client. That is to say, newer values inserted into the table should have
larger timestamps. If the time between
-writing updates to the same key is significant (order minutes), this concern
can likely be ignored.</p>
-
-<h3 id="bulk-imports">Bulk Imports</h3>
-
-<p>Currently, files that are bulk imported into a table configured for
replication are not replicated. There is no
-technical reason why it was not implemented, it was simply omitted from the
initial implementation. This is considered a
-fair limitation because bulk importing generated files multiple locations is
much simpler than bifurcating “live” ingest
-data into two instances. Given some existing bulk import process which creates
files and them imports them into an
-Accumulo instance, it is trivial to copy those files to a new HDFS instance
and import them into another Accumulo
-instance using the same process. Hadoop’s <code class="language-plaintext
highlighter-rouge">distcp</code> command provides an easy way to copy large
amounts of data to another
-HDFS instance which makes the problem of duplicating bulk imports very easy to
solve.</p>
-
-<h2 id="table-schema">Table Schema</h2>
-
-<p>The following describes the kinds of keys, their format, and their general
function for the purposes of individuals
-understanding what the replication table describes. Because the replication
table is essentially a state machine,
-this data is often the source of truth for why Accumulo is doing what it is
with respect to replication. There are
-three “sections” in this table: “repl”, “work”, and “order”.</p>
-
-<h3 id="repl-section">Repl section</h3>
-
-<p>This section is for the tracking of a WAL file that needs to be replicated
to one or more Accumulo remote tables.
-This entry is tracking that replication needs to happen on the given WAL file,
but also that the local Accumulo table,
-as specified by the column qualifier “local table ID”, has information in this
WAL file.</p>
-
-<p>The structure of the key-value is as follows:</p>
-
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><HDFS_uri_to_WAL> repl:<local_table_id> []
-> <protobuf>
-</code></pre></div></div>
-
-<p>This entry is created based on a replication entry from the Accumulo
metadata table, and is deleted from the replication table
-when the WAL has been fully replicated to all remote Accumulo tables.</p>
-
-<h3 id="work-section">Work section</h3>
-
-<p>This section is for the tracking of a WAL file that needs to be replicated
to a single Accumulo table in a remote
-Accumulo cluster. If a WAL must be replicated to multiple tables, there will
be multiple entries. The Value for this
-Key is a serialized ProtocolBuffer message which encapsulates the portion of
the WAL which was already sent for
-this file. The “replication target” is the unique location of where the file
needs to be replicated: the identifier
-for the remote Accumulo cluster and the table ID in that remote Accumulo
cluster. The protocol buffer in the value
-tracks the progress of replication to the remote cluster.</p>
-
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><HDFS_uri_to_WAL> work:<replication_target>
[] -> <protobuf>
-</code></pre></div></div>
-
-<p>The “work” entry is created when a WAL has an “order” entry, and deleted
after the WAL is replicated to all
-necessary remote clusters.</p>
-
-<h3 id="order-section">Order section</h3>
-
-<p>This section is used to order and schedule (create) replication work. In
some cases, data with the same timestamp
-may be provided multiple times. In this case, it is important that WALs are
replicated in the same order they were
-created/used. In this case (and in cases where this is not important), the
order entry ensures that oldest WALs
-are processed most quickly and pushed through the replication framework.</p>
-
-<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code><time_of_WAL_closing>\x00<HDFS_uri_to_WAL>
order:<local_table_id> [] -> <protobuf>
-</code></pre></div></div>
-
-<p>The “order” entry is created when the WAL is closed (no longer being
written to) and is removed when
-the WAL is fully replicated to all remote locations.</p>
-
-
- <div class="row mt-4">
- <div class="col-md-12 d-flex justify-content-between">
- <strong>Find documentation for all releases in the <a
href="/docs-archive">archive</strong>
- <a
href="https://github.com/apache/accumulo-website/edit/main/_docs-4/administration/replication.md"
role="button"><span class="fa-solid fa-pen-to-square"></span> <small>Edit this
page</small></a>
- </div>
- </div>
- </div>
-</div>
-
- </div>
-
-
-<footer>
-
- <p><a href="https://www.apache.org/foundation/contributing"><img
src="https://www.apache.org/images/SupportApache-small.png" alt="Support the
ASF" id="asf-logo" height="100" /></a></p>
-
- <p>Copyright © 2011-2026 <a href="https://www.apache.org">The Apache
Software Foundation</a>.
-Licensed under the <a href="https://www.apache.org/licenses/">Apache License,
Version 2.0</a>.</p>
-
- <p>Apache®, the names of Apache projects and their logos, and the multicolor
feather
-logo are registered trademarks or trademarks of The Apache Software Foundation
-in the United States and/or other countries.</p>
-
-</footer>
-
-
- </div>
- </div>
- </div>
-</body>
-</html>
diff --git a/output/docs/4.x/administration/scan-executors.html
b/output/docs/4.x/administration/scan-executors.html
index 85b11132c..27ebd3d48 100644
--- a/output/docs/4.x/administration/scan-executors.html
+++ b/output/docs/4.x/administration/scan-executors.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/administration/upgrading.html
b/output/docs/4.x/administration/upgrading.html
index 575f6d814..4f5d3f94c 100644
--- a/output/docs/4.x/administration/upgrading.html
+++ b/output/docs/4.x/administration/upgrading.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -595,11 +593,12 @@ from XML to properties or use the following Accumulo
command.
<div class="language-plaintext highlighter-rouge"><div
class="highlight"><pre class="highlight"><code>accumulo convert-config -x
old/accumulo-site.xml -p new/accumulo.properties
</code></pre></div> </div>
</li>
- <li>The following <a href="/docs/4.x/configuration/server-properties">server
properties</a> were deprecated for 2.0:
+ <li>The following <a href="/docs/4.x/configuration/server-properties">server
properties</a> were deprecated in 2.0
+and no longer exist in 4.x:
<ul>
- <li><a
href="/docs/4.x/configuration/server-properties#general_classpaths">general.classpaths</a></li>
- <li><a
href="/docs/4.x/configuration/server-properties#tserver_metadata_readahead_concurrent_max">tserver.metadata.readahead.concurrent.max</a></li>
- <li><a
href="/docs/4.x/configuration/server-properties#tserver_readahead_concurrent_max">tserver.readahead.concurrent.max</a></li>
+ <li><code class="language-plaintext
highlighter-rouge">general.classpaths</code></li>
+ <li><code class="language-plaintext
highlighter-rouge">tserver.metadata.readahead.concurrent.max</code></li>
+ <li><code class="language-plaintext
highlighter-rouge">tserver.readahead.concurrent.max</code></li>
</ul>
</li>
<li><code class="language-plaintext
highlighter-rouge">accumulo-client.properties</code> has replaced <code
class="language-plaintext highlighter-rouge">client.conf</code>. The <a
href="/docs/4.x/configuration/client-properties">client properties</a>
diff --git a/output/docs/4.x/configuration/client-properties.html
b/output/docs/4.x/configuration/client-properties.html
index a6ad29579..23f5d2f6a 100644
--- a/output/docs/4.x/configuration/client-properties.html
+++ b/output/docs/4.x/configuration/client-properties.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -413,7 +411,7 @@
<!-- WARNING: Do not edit this file. It is a generated file that is copied
from Accumulo build (from core/target/generated-docs) -->
<!-- Generated by :
org.apache.accumulo.core.conf.ClientConfigGenerate$Markdown -->
-<p>Below are properties set in <code class="language-plaintext
highlighter-rouge">accumulo-client.properties</code> that configure <a
href="/docs/4.x/getting-started/clients#connecting">Accumulo clients</a>. All
properties have been part of the API since 2.0.0 (unless otherwise
specified):</p>
+<p>Below are properties set in <code class="language-plaintext
highlighter-rouge">accumulo-client.properties</code> that configure <a
href="/docs/4.x/getting-started/clients#creating-an-accumulo-client">Accumulo
clients</a>. All properties have been part of the API since 2.0.0 (unless
otherwise specified):</p>
<table>
<thead>
diff --git a/output/docs/4.x/configuration/files.html
b/output/docs/4.x/configuration/files.html
index cc94493b0..a5c0e9a50 100644
--- a/output/docs/4.x/configuration/files.html
+++ b/output/docs/4.x/configuration/files.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -480,17 +478,12 @@ multiple tablet servers are run for improved fault
tolerance and performance.</p
<h3 id="sserver">sserver</h3>
-<p>Contains a list of hosts where <a
href="/docs/4.x/getting-started/design#scan-server-experimental">ScanServer</a>
processes should run. While only one host is needed, it is recommended
+<p>Contains a list of hosts where <a
href="/docs/4.x/getting-started/design#scan-server">ScanServer</a> processes
should run. While only one host is needed, it is recommended
that multiple ScanServers are run for improved performance.</p>
-<h3 id="compaction-coordinator">compaction coordinator</h3>
-
-<p>Contains a list of hosts where <a
href="/docs/4.x/getting-started/design#compaction-coordinator-experimental">CompactionCoordinator</a>
processes should run. While only one host is needed,
-others can be specified to run standby CompactionCoordinators that can take
over if the lead CompactionCoordinator fails.</p>
-
-<h3 id="compaction-compactor">compaction compactor</h3>
+<h3 id="compactor">compactor</h3>
-<p>Contains a list of hosts where <a
href="/docs/4.x/getting-started/design#compactor-experimental">Compactor</a>
processes should run. While only one host is needed, it is recommended that
+<p>Contains a list of hosts where <a
href="/docs/4.x/getting-started/design#compactor">Compactor</a> processes
should run. While only one host is needed, it is recommended that
multiple Compactors are run for improved external compaction performance.</p>
diff --git a/output/docs/4.x/configuration/metrics.html
b/output/docs/4.x/configuration/metrics.html
index 42c62b13f..3e3fbf8d0 100644
--- a/output/docs/4.x/configuration/metrics.html
+++ b/output/docs/4.x/configuration/metrics.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/configuration/overview.html
b/output/docs/4.x/configuration/overview.html
index 356be6b61..c420e0ef6 100644
--- a/output/docs/4.x/configuration/overview.html
+++ b/output/docs/4.x/configuration/overview.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/configuration/server-properties.html
b/output/docs/4.x/configuration/server-properties.html
index 6eb8e762c..698aa57bd 100644
--- a/output/docs/4.x/configuration/server-properties.html
+++ b/output/docs/4.x/configuration/server-properties.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -1092,7 +1090,7 @@
</tr>
<tr>
<td><del><a name="sserver_scan_allowed_tables_group_prefix"
class="prop"></a>
<strong>sserver.scan.allowed.tables.group.</strong>*</del></td>
- <td><strong>Available since:</strong> 2.1.5<br /><em>Deprecated
since:</em> 4.0.0<br /><em>Replaced by:</em> <a
href="#sserver_scan_allowed_tablesprefix">sserver.scan.allowed.tables</a><br
/><del>A regular expression that determines which tables are allowed to be
scanned for servers in the specified group. The property name should end with
the scan server group and the property value should take into account the table
namespace and name. The default value disallows scans on tables [...]
+ <td><strong>Available since:</strong> 2.1.5<br /><em>Deprecated
since:</em> 4.0.0<br /><em>Replaced by:</em> <a
href="#sserver_scan_allowed_tables">sserver.scan.allowed.tables</a><br /><del>A
regular expression that determines which tables are allowed to be scanned for
servers in the specified group. The property name should end with the scan
server group and the property value should take into account the table
namespace and name. The default value disallows scans on tables in the [...]
</tr>
<tr>
<td><a name="sserver_scan_executors_prefix" class="prop"></a>
<strong>sserver.scan.executors.</strong>*</td>
diff --git a/output/docs/4.x/development/development_tools.html
b/output/docs/4.x/development/development_tools.html
index 06ef1b969..b011f24d1 100644
--- a/output/docs/4.x/development/development_tools.html
+++ b/output/docs/4.x/development/development_tools.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/high_speed_ingest.html
b/output/docs/4.x/development/high_speed_ingest.html
index 87883f0b0..50ef0d3b0 100644
--- a/output/docs/4.x/development/high_speed_ingest.html
+++ b/output/docs/4.x/development/high_speed_ingest.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/iterators.html
b/output/docs/4.x/development/iterators.html
index 212e6ad46..644bcdbad 100644
--- a/output/docs/4.x/development/iterators.html
+++ b/output/docs/4.x/development/iterators.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/mapreduce.html
b/output/docs/4.x/development/mapreduce.html
index b9f7cbfc0..2217e47d9 100644
--- a/output/docs/4.x/development/mapreduce.html
+++ b/output/docs/4.x/development/mapreduce.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/proxy.html
b/output/docs/4.x/development/proxy.html
index 411baec2d..9d7fed69b 100644
--- a/output/docs/4.x/development/proxy.html
+++ b/output/docs/4.x/development/proxy.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/sampling.html
b/output/docs/4.x/development/sampling.html
index 628a4c049..2b2561669 100644
--- a/output/docs/4.x/development/sampling.html
+++ b/output/docs/4.x/development/sampling.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/spark.html
b/output/docs/4.x/development/spark.html
index d6ab9444e..2a1cc1fc6 100644
--- a/output/docs/4.x/development/spark.html
+++ b/output/docs/4.x/development/spark.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/development/summaries.html
b/output/docs/4.x/development/summaries.html
index f597f8d20..edc8dbe6a 100644
--- a/output/docs/4.x/development/summaries.html
+++ b/output/docs/4.x/development/summaries.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/clients.html
b/output/docs/4.x/getting-started/clients.html
index 84a648106..48bb7bc33 100644
--- a/output/docs/4.x/getting-started/clients.html
+++ b/output/docs/4.x/getting-started/clients.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/design.html
b/output/docs/4.x/getting-started/design.html
index 8238f1d2d..4228732a3 100644
--- a/output/docs/4.x/getting-started/design.html
+++ b/output/docs/4.x/getting-started/design.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/features.html
b/output/docs/4.x/getting-started/features.html
index a6bbf9b63..42c996abf 100644
--- a/output/docs/4.x/getting-started/features.html
+++ b/output/docs/4.x/getting-started/features.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/glossary.html
b/output/docs/4.x/getting-started/glossary.html
index 114612592..75a93cf2e 100644
--- a/output/docs/4.x/getting-started/glossary.html
+++ b/output/docs/4.x/getting-started/glossary.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/quickstart.html
b/output/docs/4.x/getting-started/quickstart.html
index f89e98ea2..b32ea12e4 100644
--- a/output/docs/4.x/getting-started/quickstart.html
+++ b/output/docs/4.x/getting-started/quickstart.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -661,14 +659,14 @@ exist in the file but are commented out as they are
optional.</p>
file contains sections that should be configured with a list of node names in
yaml format:</p>
<ul>
- <li><a href="/docs/4.x/configuration/files#managers">manager</a> : Accumulo
primary coordinating process. Must specify one node. Can
+ <li><a href="/docs/4.x/configuration/files#manager">manager</a> : Accumulo
primary coordinating process. Must specify one node. Can
specify a few for fault tolerance.</li>
<li><a href="/docs/4.x/configuration/files#gc">gc</a> : Accumulo
garbage collector. Must specify one node. Can specify a
few for fault tolerance.</li>
<li><a href="/docs/4.x/configuration/files#monitor">monitor</a> : Node where
Accumulo monitoring web server is run.</li>
- <li><a href="/docs/4.x/configuration/files#tservers">tserver</a> : Accumulo
worker processes. List all of the nodes where tablet
+ <li><a href="/docs/4.x/configuration/files#tserver">tserver</a> : Accumulo
worker processes. List all of the nodes where tablet
servers should run.</li>
- <li><a
href="/docs/4.x/configuration/files#compaction%20compactor">compactor</a> :
Accumulo external compactor processes. List of
+ <li><a href="/docs/4.x/configuration/files#compactor">compactor</a> :
Accumulo external compactor processes. List of
all nodes where compactors should run.</li>
<li><a href="/docs/4.x/configuration/files#sserver">sserver</a> : Optional.
List of all nodes where scan servers should run.</li>
</ul>
diff --git a/output/docs/4.x/getting-started/shell.html
b/output/docs/4.x/getting-started/shell.html
index b3879a694..868868b34 100644
--- a/output/docs/4.x/getting-started/shell.html
+++ b/output/docs/4.x/getting-started/shell.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/table_configuration.html
b/output/docs/4.x/getting-started/table_configuration.html
index ddfe5ab5d..7dcd2e693 100644
--- a/output/docs/4.x/getting-started/table_configuration.html
+++ b/output/docs/4.x/getting-started/table_configuration.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/getting-started/table_design.html
b/output/docs/4.x/getting-started/table_design.html
index ce90462a9..f7e687157 100644
--- a/output/docs/4.x/getting-started/table_design.html
+++ b/output/docs/4.x/getting-started/table_design.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/security/authentication.html
b/output/docs/4.x/security/authentication.html
index 0e0c8bd74..5bb122f8d 100644
--- a/output/docs/4.x/security/authentication.html
+++ b/output/docs/4.x/security/authentication.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/security/authorizations.html
b/output/docs/4.x/security/authorizations.html
index dd754bbfe..2a19ce934 100644
--- a/output/docs/4.x/security/authorizations.html
+++ b/output/docs/4.x/security/authorizations.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/security/kerberos.html
b/output/docs/4.x/security/kerberos.html
index 390458129..b1ac3ea68 100644
--- a/output/docs/4.x/security/kerberos.html
+++ b/output/docs/4.x/security/kerberos.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -586,21 +584,6 @@ in <code class="language-plaintext
highlighter-rouge">accumulo.properties</code>
<td><a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-server-base/4.0.0-alpha-1/org/apache/accumulo/server/security/handler/KerberosPermissionHandler.html">org.apache.accumulo.server.security.handler.KerberosPermissionHandler</a></td>
<td>Configures Accumulo to use the Kerberos principal for permission
purposes</td>
</tr>
- <tr>
- <td><a
href="/docs/4.x/configuration/server-properties#trace_token_type">trace.token.type</a></td>
- <td><a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-core/4.0.0-alpha-1/org/apache/accumulo/core/client/security/tokens/KerberosToken.html">org.apache.accumulo.core.client.security.tokens.KerberosToken</a></td>
- <td>Configures the Accumulo Tracer to use the <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-core/4.0.0-alpha-1/org/apache/accumulo/core/client/security/tokens/KerberosToken.html">KerberosToken</a>
for authentication when serializing traces to the trace table.</td>
- </tr>
- <tr>
- <td><a
href="/docs/4.x/configuration/server-properties#trace_user">trace.user</a></td>
- <td>accumulo/_HOST@REALM</td>
- <td>The tracer process needs valid credentials to serialize traces to
Accumulo. While the other server processes are creating a SystemToken from the
provided keytab and principal, we can still use a normal <a
href="https://www.javadoc.io/static/org.apache.accumulo/accumulo-core/4.0.0-alpha-1/org/apache/accumulo/core/client/security/tokens/KerberosToken.html">KerberosToken</a>
and the same keytab/principal to serialize traces. Like non-Kerberized
instances, the table must be created [...]
- </tr>
- <tr>
- <td>trace.token.property.keytab</td>
- <td> </td>
- <td>You can optionally specify the path to a keytab file for the
principal given in the <code class="language-plaintext
highlighter-rouge">trace.user</code> property. If you don’t set this path, it
will default to the value given in <code class="language-plaintext
highlighter-rouge">general.kerberos.principal</code>.</td>
- </tr>
<tr>
<td><a
href="/docs/4.x/configuration/server-properties#general_delegation_token_lifetime">general.delegation.token.lifetime</a></td>
<td>7d</td>
diff --git a/output/docs/4.x/security/on-disk-encryption.html
b/output/docs/4.x/security/on-disk-encryption.html
index d6e2b854c..f4758a991 100644
--- a/output/docs/4.x/security/on-disk-encryption.html
+++ b/output/docs/4.x/security/on-disk-encryption.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -430,7 +428,7 @@ is useful for general purpose on-disk encryption with no
table context.</p>
</code></pre></div></div>
<p>The <code class="language-plaintext
highlighter-rouge">GenericCryptoServiceFactory</code> requires configuring a
crypto service to load and this can be done by setting the
-<a
href="/docs/4.x/configuration/server-properties#general_custom_crypto_service">general.custom.crypto.service</a>
property. The value of this property is the
+<code class="language-plaintext
highlighter-rouge">general.custom.crypto.service</code> property. The value of
this property is the
class name of the service which will perform crypto on RFiles and WALs.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>general.custom.crypto.service=org.apache.accumulo.core.spi.crypto.AESCryptoService
</code></pre></div></div>
@@ -443,7 +441,7 @@ will load a crypto service configured by table.</p>
</code></pre></div></div>
<p>The <code class="language-plaintext
highlighter-rouge">PerTableCryptoServiceFactory</code> requires configuring a
crypto service to load for the table RFiles and this can be done by adding the
-<a
href="/docs/4.x/configuration/server-properties#table_crypto_opts_service">table.crypto.opts.service</a>
property to a table. Example in the accumulo shell:</p>
+<code class="language-plaintext
highlighter-rouge">table.crypto.opts.service</code> property to a table.
Example in the accumulo shell:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>createtable table1 -prop
table.crypto.opts.service=org.apache.accumulo.core.spi.crypto.AESCryptoService
</code></pre></div></div>
<p>The <code class="language-plaintext
highlighter-rouge">PerTableCryptoServiceFactory</code> also requires
configuring a recovery and WAL crypto service by adding the following
@@ -454,7 +452,7 @@
general.custom.crypto.wal.service=org.apache.accumulo.core.spi.crypto.AESCryptoS
<p>Out of the box, Accumulo provides the <code class="language-plaintext
highlighter-rouge">AESCryptoService</code> for basic encryption needs. This
class provides AES encryption
with Galois/Counter Mode (GCM) for RFiles and Cipher Block Chaining (CBC) mode
for WALs. The additional property
-below is required by this crypto service to be set using the <a
href="/docs/4.x/configuration/server-properties#general_custom_crypto_prefix">general.custom.crypto.*</a>
prefix.</p>
+below is required by this crypto service to be set using the <a
href="/docs/4.x/configuration/server-properties#general_custom_prefix">general.custom.*</a>
prefix.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre
class="highlight"><code>general.custom.crypto.key.uri=file:///secure/path/to/crypto-key-file
</code></pre></div></div>
<p>This property tells the crypto service where to find the file containing
the key encryption key. The key file can be 16 or 32 bytes.
diff --git a/output/docs/4.x/security/overview.html
b/output/docs/4.x/security/overview.html
index 752979be2..bef2c8e33 100644
--- a/output/docs/4.x/security/overview.html
+++ b/output/docs/4.x/security/overview.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/security/permissions.html
b/output/docs/4.x/security/permissions.html
index ec979cc08..ff647016a 100644
--- a/output/docs/4.x/security/permissions.html
+++ b/output/docs/4.x/security/permissions.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/security/wire-encryption.html
b/output/docs/4.x/security/wire-encryption.html
index 5e39dfc46..d76a4e7f9 100644
--- a/output/docs/4.x/security/wire-encryption.html
+++ b/output/docs/4.x/security/wire-encryption.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/troubleshooting/advanced.html
b/output/docs/4.x/troubleshooting/advanced.html
index 09f0b948b..15fb4f899 100644
--- a/output/docs/4.x/troubleshooting/advanced.html
+++ b/output/docs/4.x/troubleshooting/advanced.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/troubleshooting/basic.html
b/output/docs/4.x/troubleshooting/basic.html
index e3f03a2ed..1e7c95cee 100644
--- a/output/docs/4.x/troubleshooting/basic.html
+++ b/output/docs/4.x/troubleshooting/basic.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
@@ -552,7 +550,7 @@ processes should be stable on the order of months and not
require frequent resta
<p><strong>What are my visibilities?</strong></p>
-<p>Use the <a href="/docs/4.x/troubleshooting/tools#RFileInfo">rfile-info</a>
tool on a representative file to get some idea
+<p>Use the <a href="/docs/4.x/troubleshooting/tools#rfileinfo">rfile-info</a>
tool on a representative file to get some idea
of the visibilities in the underlying data.</p>
<p>Note that the use of <code class="language-plaintext
highlighter-rouge">rfile-info</code> is an administrative tool and can only
diff --git a/output/docs/4.x/troubleshooting/performance.html
b/output/docs/4.x/troubleshooting/performance.html
index f30eccc38..14cf4217f 100644
--- a/output/docs/4.x/troubleshooting/performance.html
+++ b/output/docs/4.x/troubleshooting/performance.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/troubleshooting/system-metadata-tables.html
b/output/docs/4.x/troubleshooting/system-metadata-tables.html
index bfc68fa65..0e38b9c1b 100644
--- a/output/docs/4.x/troubleshooting/system-metadata-tables.html
+++ b/output/docs/4.x/troubleshooting/system-metadata-tables.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/troubleshooting/tools.html
b/output/docs/4.x/troubleshooting/tools.html
index adfd2473f..54a19e57e 100644
--- a/output/docs/4.x/troubleshooting/tools.html
+++ b/output/docs/4.x/troubleshooting/tools.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/troubleshooting/tracing.html
b/output/docs/4.x/troubleshooting/tracing.html
index 59eddcc6d..03f59a92e 100644
--- a/output/docs/4.x/troubleshooting/tracing.html
+++ b/output/docs/4.x/troubleshooting/tracing.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/docs/4.x/troubleshooting/zookeeper.html
b/output/docs/4.x/troubleshooting/zookeeper.html
index d777666a9..859ce0e5c 100644
--- a/output/docs/4.x/troubleshooting/zookeeper.html
+++ b/output/docs/4.x/troubleshooting/zookeeper.html
@@ -320,8 +320,6 @@
<div class="row"><a
href="/docs/4.x/administration/multivolume">Multi-Volume Installations</a></div>
- <div class="row"><a
href="/docs/4.x/administration/replication">Replication</a></div>
-
<div class="row"><a
href="/docs/4.x/administration/caching">Caching</a></div>
<div class="row"><a
href="/docs/4.x/administration/compaction">Compactions</a></div>
diff --git a/output/feed.xml b/output/feed.xml
index 951d10323..6e811eb3c 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,8 +6,8 @@
</description>
<link>https://accumulo.apache.org/</link>
<atom:link href="https://accumulo.apache.org/feed.xml" rel="self"
type="application/rss+xml"/>
- <pubDate>Fri, 02 Oct 2026 16:47:47 +0000</pubDate>
- <lastBuildDate>Fri, 02 Oct 2026 16:47:47 +0000</lastBuildDate>
+ <pubDate>Tue, 06 Oct 2026 16:16:03 +0000</pubDate>
+ <lastBuildDate>Tue, 06 Oct 2026 16:16:03 +0000</lastBuildDate>
<generator>Jekyll v4.4.1</generator>