Checking co-processor classes
External co-processors are not automatically upgraded, you must upgrade them manually. Before migrating, ensure that your co-processors are compatible with the migration.
- Upgrade your co-processor jars manually before continuing the migration.
- Temporarily unset the co-processors and continue the migration.
Once they are manually upgraded, they can be reset.
Attempting to migrate without upgrading the co-processor jars can result in unpredictable behaviour such as HBase role start failure, HBase role crashing, or even data corruption.
If your cluster is Kerberized, ensure that you run the
hbase user before running the pre-upgrade commands.
Download and distribute parcels for target version of COD CDP Public
If the downloaded parcel version is higher than the current Cloudera Manager version, the following error message displayed:
Error for parcel CDH-7.X.parcel : Parcel version 7.X is not supported by this version of Cloudera Manager. Upgrade Cloudera Manager to at least 7.X before using this version of the parcel.
You can safely ignore this error message.
hbase pre-upgrade validate-cpcommands to check if your co-processors are compatible with the migration.
Use the CDP parcel to run the pre-upgrade commands. Cloudera recommends that you run them on an HMaster host.For example, you can check for co-processor compatibility on master:
$ /opt/cloudera/parcels/CDH-7.1.1-1.cdh7.1.1.p0.3224867/bin/hbase pre-upgrade validate-cp -jar /opt/cloudera/parcels/CDH-7.1.1-1.cdh7.1.1.p0.3224867/jars/ -configOr, you can validate every table level co-processors where the table name matches to the
$ /opt/cloudera/parcels/CDH-7.1.1-1.cdh7.1.1.p0.3224867/bin/hbase pre-upgrade validate-cp -table '.*'Optionally, you can run the following command for a more detailed output:
HBASE_ROOT_LOGGER=DEBUG,console hbase pre-upgrade validate-cp -table '.*'This way you can verify that all of the required tables were checked. The detailed output should contain lines like the following where
test_tableis a table on the server:
21/05/10 11:07:58 DEBUG coprocessor.CoprocessorValidator: Validating table test_table
Check the output to determine if your co-processors are compatible with the
The output looks similar to the following:
$ hbase pre-upgrade validate-cp -config ... some output ... $ echo $? 0
0, the check was successful and your co-processors are compatible. A non-zero value means unsuccessful, your co-processors are not compatible.