accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [accumulo-website] branch master updated: Created documentation for upgrading to 2.0 (#126)
Date Thu, 01 Nov 2018 18:37:24 GMT
This is an automated email from the ASF dual-hosted git repository.

mwalch pushed a commit to branch master
in repository

The following commit(s) were added to refs/heads/master by this push:
     new 99166db  Created documentation for upgrading to 2.0 (#126)
99166db is described below

commit 99166db5833072bb89b060a0aa80c13c9a0105c9
Author: Mike Walch <>
AuthorDate: Thu Nov 1 14:37:19 2018 -0400

    Created documentation for upgrading to 2.0 (#126)
    * Updated lexicoder docs in features
 _docs-2/administration/ | 81 ++++++++++++++++++++++++++++++++++++-
 _docs-2/getting-started/ |  8 +---
 2 files changed, 82 insertions(+), 7 deletions(-)

diff --git a/_docs-2/administration/ b/_docs-2/administration/
index ad2e3d5..7489e19 100644
--- a/_docs-2/administration/
+++ b/_docs-2/administration/
@@ -4,6 +4,80 @@ category: administration
 order: 7
+## Upgrading from 1.8/9 to 2.0
+Follow the steps below to upgrade your Accumulo instance and client to 2.0.
+### Upgrade Accumulo instance
+**IMPORTANT!** Before upgrading to Accumulo 2.0, you will need to upgrade to Java 8 and Hadoop
+Upgrading to Accumulo 2.0 is done by stopping Accumulo 1.8/9 and starting Accumulo 2.0.
+Before stopping Accumulo 1.8/9, install Accumulo 2.0 and configure it by following the [2.0
install instructions]({% durl getting-started/quick-install %}).
+There are several changes to scripts and configuration in 2.0 so be careful when using configuration
or automated setup designed for 1.8/9.
+Below are some changes in 2.0 that you should be aware of:
+* `` has replaced `accumulo-site.xml`. You can either convert `accumulo-site.xml`
by hand
+  from XML to properties or use the following Accumulo command.
+  ```
+  accumulo convert-config -x old/accumulo-site.xml -p new/
+  ```
+* `` has replaced `client.conf`. The [client properties]({% durl
configuration/client-properties %})
+  in the new file are different so take care when customizing.
+* `accumulo-cluster` script has replaced the `` & `` scripts.
+   - Default host files (i.e `masters`, `monitor`, `gc`) are no longer in `conf/` directory
of tarball but can be created using `accumulo-cluster create-config`
+   - Tablet server hosts must be listed in a `tservers` file instead of a `slaves` file.
To minimize confusion, Accumulo will not start if the old `slaves` file is present.
+* `accumulo-service` script can be used to start/stop Accumulo services (i.e master, tablet
server, monitor) on a single node.
+    - Can be used even if Accumulo was started using `accumulo-cluster` script.
+* `` constructs environment variables (such as `JAVA_OPTS` and `CLASSPATH`)
used when running Accumulo processes
+    - This file was used in Accumulo 1.x but has changed signficantly for 2.0
+    - Environment variables (such as `$cmd`, `$bin`, `$conf`) are set before ``
is loaded and can be used to customize environment.
+    - The `JAVA_OPTS` variable is constructed in `` to pass command-line arguments
to the `java` command that the starts Accumulo processes
+      (i.e. `java $JAVA_OPTS main.class.for.$cmd`).
+    - The `CLASSPATH` variable sets the Java classpath used when running Accumulo processes.
It can be modified to upgrade dependencies or use vendor-specific
+      distributions of Hadoop.
+* Logging is configured in `` for Accumulo processes. The following log4j
configuration files in the `conf/` directory will be used if
+  `` is not modified. These files can be modified to turn on/off logging for
Accumulo processes:
+    - `` for all Accumulo services (except monitor)
+    - `` for Accumulo monitor
+    - `` for Accumulo clients and commands
+* Run the command `accumulo shell` to access the shell using configuration in `conf/`
+When your Accumulo 2.0 installation is properly configured, stop Accumulo 1.8/9 and start
Accumulo 2.0:
+./accumulo-2.0.0/bin/accumulo-cluster start
+It is recommended that users test this upgrade on development or test clusters before attempting
it on production clusters.
+### Upgrade Accumulo clients
+There several client API changes in 2.0. In most cases, new API was introduced and the old
API was only deprecated. While it is recommended
+that users start using the new API, the old API will continue to be supported through 2.x.
+Below is a list of client API changes that users are required to make for 2.0:
+* Update your pom.xml use Accumulo 2.0. Also, update any Hadoop & ZooKeeper dependencies
in your pom.xml to match the versions runing on your cluster.
+  ```xml
+  <dependency>
+    <groupId>org.apache.accumulo</groupId>
+    <artifactId>accumulo-core</artifactId>
+    <version>2.0.0</version>
+  </dependency>
+  ```
+* ClientConfiguration objects can no longer be ceated using `new ClientConfiguration()`.
+   * Use `ClientConfiguration.create()` instead
+* Some API deprecated in 1.x releases was dropped
+* Aggregators have been removed
+Below is a list of recommended client API changes:
+* The API for [creating Accumulo clients]({% durl getting-started/clients#creating-an-accumulo-client
%}) has changed in 2.0.
+  * The old API using [ZooKeeeperInstance], [Connector], [Instance], and [ClientConfiguration]
has been deprecated.
+  * [Connector] objects can be created from an [AccumuloClient] object using [Connector.from()]
 ## Upgrading from 1.7 to 1.8
 Upgrades from 1.7 to 1.8 are possible with little effort as no changes were made at the data
layer and RPC changes were made in a backwards-compatible way. The recommended way is to stop
Accumulo 1.7, perform the Accumulo upgrade to 1.8, and then start 1.8. Like previous versions,
after 1.8 is started on a 1.7 instance, a one-time upgrade will happen by the Master which
will prevent a downgrade back to 1.7. Upgrades are still one way. Upgrades from versions prior
to 1.7 to 1.8 should fol [...]
@@ -106,4 +180,9 @@ This happens automatically the first time Accumulo 1.5 is started.
+[ZooKeeeperInstance]: {% jurl org.apache.accumulo.core.client.ZooKeeperInstance %}
+[Connector]: {% jurl org.apache.accumulo.core.client.Connector %}
+[Instance]: {% jurl org.apache.accumulo.core.client.Instance %}
+[ClientConfiguration]: {% jurl org.apache.accumulo.core.client.ClientConfiguration %}
+[AccumuloClient]: {% jurl org.apache.accumulo.core.client.AccumuloClient %}
+[Connector.from()]: {% jurl org.apache.accumulo.core.client.Connector#from-org.apache.accumulo.core.client.AccumuloClient-
diff --git a/_docs-2/getting-started/ b/_docs-2/getting-started/
index 4fd5d9f..bf4027d 100644
--- a/_docs-2/getting-started/
+++ b/_docs-2/getting-started/
@@ -261,12 +261,8 @@ the Javadoc for [ConditionalMutation] and [ConditionalWriter].
 ### Lexicoders
-Common boilerplate code that exists when interacting with Accumulo is the conversion
-of Java objects to lexicographically sorted bytes, e.g. ensure that the byte representation
-of the number 9 sorts before the byte representation of the number 11. Version 1.6.0 introduced
-Lexicoders which have numerous implementations that support for efficient translation from
-Java primitives to byte arrays and vice versa. These classes can greatly reduce the burden
-re-implementing common programming mistakes in encoding.
+[Lexicoders]({% durl getting-started/table_design#lexicoders) (since 1.6.0) help encode data
(i.e numbers, dates)
+into Accumulo keys in a way that their natural sort order is preserved.
 ## Extensible Behaviors

View raw message