Preparing HBase for upgrade
Before upgrading to Cloudera Private Cloud Base, transition your HFiles to a supported encoding type and validate HFiles to ensure that you do not have any HFiles that use unsupported encoding or are in a bad state.
Preparing HBase for upgrade
You must perform the pre-upgrade tasks after installing the HDP intermediate bits on the hosts, but before you upgrade your cluster to HDP intermediate bits. Run these commands on the cluster that has the HDP intermediate bits. The HBase validation tool is packaged within HDP intermedite bits, and you register the software repositories for the new target version with Ambari and then install the software on all hosts in the cluster. For more information to get the intermediate bits, see Register software repositories.
Ensure that you check for any corrupted HFiles and
rectify them before the upgrade using the HFile content validator
(validate-hfile
) tool.
When upgrading from an HDP 2.6.x
cluster, you should begin by making a copy of the HBase client configuration
directory for use with these upgrade checks. In this configuration copy, you should
delete the metrics collection configuration file
hadoop-metrics2-hbase.properties
because it is incompatible
with the newer utilities. If this file is left in place then the pre-upgrade HBase
commands will not properly check the underlying HFiles for issues. Before you run
the pre-upgrade checks, ensure that you point to the correct configuration
directory. For example, you can use the export
command or the
hbase --config
CLI option to point to the configuration
directory.
export HBASE_CONF_DIR=/[**PATH TO THE CONFIGURATION DIRECTORY**]
This
is an example export HBASE_CONF_DIR command that you can use to point to the correct
configuration directory before you run the validation
checks.export HBASE_CONF_DIR=/home/dirname/hbase-conf
Should the pre-upgrade check fail due to an old incompatible configuration directory, the command will log the following exception:
java.lang.AbstractMethodError: org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink.init
(Lorg/apache/commons/configuration2/SubsetConfiguration;)
What's next:
- Remove PREFIX_TREE data block encoding:
hbase pre-upgrade validate-dbe
- Validate HFiles:
hbase pre-upgrade validate-hfile