Upgrading client libraries
This page explains how to upgrade a previously installed Cloud Bigtable client library. If you need to install a client library for the first time, follow the instructions for your preferred programming language at Cloud Bigtable Client Libraries.
HBase client for Java
If you're upgrading from version 1.0 or later of the HBase client for Java, the only change you need to make is to update the version number in the configuration. You don't need to update your code.
If you're upgrading from pre-1.0 HBase clients, complete the following steps:
Update your dependencies to use the newest client library and remove artifacts that you no longer need:
Remove the
bigtable-hbase-1.0
,bigtable-hbase-1.1
, andbigtable-hbase-1.2
artifacts from your dependencies if they are present.Remove
netty-tcnative-boringssl-static
from your dependencies unless another part of your application requires it.Add one of the following artifacts to your dependencies, depending on your use case. The
2.x
versions include an HBase async client that the1.x
versions do not have.bigtable-hbase-1.x
orbigtable-hbase-2.x
: Use for standalone applications where you are in control of your dependencies.bigtable-hbase-1.x-hadoop
orbigtable-hbase-2.x-hadoop
: Use in Hadoop environments.bigtable-hbase-1.x-shaded
orbigtable-hbase-2.x-shaded
: Use in environments other than Hadoop that require older versions of components such as protobuf or Guava.
Update your configuration settings for connecting to Bigtable.
If the configuration settings in your code or in an
hbase-site.xml
file include a value forhbase.client.connection.impl
, change the value tocom.google.cloud.bigtable.hbase1_x.BigtableConnection
.If you use the
BigtableConnection
class directly, update your code to usecom.google.cloud.bigtable.hbase1_x.BigtableConnection
instead.If you use an
hbase-site.xml
file to connect to Bigtable:- Add the property
google.bigtable.instance.id
if it is not present. Set the property value to your instance ID. - Remove the property
google.bigtable.cluster.name
if it is present. - Remove the property
google.bigtable.zone.name
if it is present.
- Add the property
If you connect to Bigtable by calling
BigtableConfiguration.connect()
, update your code as shown in the following example:// Old code BigtableConfiguration.connect(projectId, zone, clusterId); // New code BigtableConfiguration.connect(projectId, instanceId);
Redeploy your application in all of your environments, including local development, testing, staging, and production.
For a list of releases for the HBase client for Java, see the release history on GitHub.
Go
In June 2016, the Go client changed the way to connect to Bigtable. Instead of specifying a cluster ID and zone, specify an instance ID. You can find the instance ID by visiting the Google Cloud console.
To download the client library, visit the code repository on GitHub.
Update your code as shown below:
// Old code
adminClient, err := bigtable.NewAdminClient(ctx, project, zone, cluster)
client, err := bigtable.NewClient(ctx, project, zone, cluster)
// New code
adminClient, err := bigtable.NewAdminClient(ctx, project, instance)
client, err := bigtable.NewClient(ctx, project, instance)
For a list of releases for the Go client library, see the release history on GitHub.
What's next
- Read more about client libraries.
- Learn more about how Bigtable integrates with other tools and Google Cloud services.