In this section we first note the significant changes that come in with 1.0.0 HBase and then we go over the upgrade process. Be sure to read the significant changes section with care so you avoid surprises.
In here we list important changes that are in 1.0.0 since 0.98.x., changes you should be aware that will go into effect once you upgrade.
See ???.
The ports used by HBase changed. The used to be in the 600XX range. In
hbase-1.0.0 they have been moved up out of the ephemeral port range and are
160XX instead (Master web UI was 60010 and is now 16030; the RegionServer
web UI was 60030 and is now 16030, etc). If you want to keep the old port
locations, copy the port setting configs from hbase-default.xml
into hbase-site.xml
, change them back to the old values
from hbase-0.98.x era, and ensure you've distributed your configurations before
you restart.
You may have made use of this configuration if you are using BucketCache.
If NOT using BucketCache, this change does not effect you.
Its removal means that your L1 LruBlockCache is now sized
using hfile.block.cache.size
-- i.e. the way you
would size the onheap L1 LruBlockCache if you were NOT doing
BucketCache -- and the BucketCache size is not whatever the
setting for hbase.bucketcache.size is. You may need to adjust
configs to get the LruBlockCache and BucketCache sizes set to
what they were in 0.98.x and previous. If you did not set this
config., its default value was 0.9. If you do nothing, your
BucketCache will increase in size by 10%. Your L1 LruBlockCache will
become hfile.block.cache.size
times your java
heap size (hfile.block.cache.size is a float between 0.0 and 1.0).
To read more, see
HBASE-11520 Simplify offheap cache config by removing the confusing "hbase.bucketcache.percentage.in.combinedcache".
See the release notes on the issue HBASE-12068 [Branch-1] Avoid need to always do KeyValueUtil#ensureKeyValue for Filter transformCell; be sure to follow the recommendations therein.
??? is off by default in hbase-1.0. Enabling it can make a big difference improving HBase MTTR. Enable this feature if you are doing a clean stop/start when you are upgrading. You cannot rolling upgrade on to this feature (caveat if you are running on a version of hbase in excess of hbase-0.98.4 -- see HBASE-12577 Disable distributed log replay by default for more).
You cannot do a <xlink></xlink> from 0.96.x to 1.0.0 without first doing a rolling upgrade to 0.98.x. See comment in HBASE-11164 Document and test rolling updates from 0.98 -> 1.0 for the why. Also because hbase-1.0.0 enables hfilev3 by default, HBASE-9801 Change the default HFile version to V3, and support for hfilev3 only arrives in 0.98, this is another reason you cannot rolling upgrade from hbase-0.96.x; if the rolling upgrade stalls, the 0.96.x servers cannot open files written by the servers running the newer hbase-1.0.0 hfilev3 writing servers.
There are no known issues running a <xlink></xlink> from hbase-0.98.x to hbase-1.0.0.
You cannot rolling upgrade from 0.94.x to 1.x.x. You must stop your cluster, install the 1.x.x software, run the migration described at Section 1.5.1, “Executing the 0.96 Upgrade” (substituting 1.x.x. wherever we make mention of 0.96.x in the section below), and then restart. Be sure to upgrade your zookeeper if it is a version less than the required 3.4.x.