Important changes in the Hypertable 0.9.8.5 release

13 views
Skip to first unread message

Doug Judd

unread,
Feb 16, 2015, 6:37:39 PM2/16/15
to hypertable-user, hyperta...@googlegroups.com

There are a number of significant changes that have gone into the 0.9.8.5 release which you should be aware of.  I've highlighted them below.

Capistrano no longer supported (use ht_cluster instead)

We're no longer supporting Capistrano for cluster administration.  As you'll discover below, the names of all of the Hypertable scripts has changed, so existing Capfiles will no longer work.  If you haven't already switched over to ht_cluster, now would be a good time.  Just download the example cluster.def file, modify the role: statements to reference the machines in your setup, and then copy the file to /opt/hypertable/current/conf/.  Once you do that, you can run tasks in the following manner:

ht cluster start
ht cluster stop

Program name cleanup

We've modified all of the scripts and programs names to begin with ht, so that the Hypertable bin/ directory can be added to your PATH environment variable.  By having all the Hypertable programs and scripts start with ht, it minimizes the likelihood of name conflicts with other programs in your path.  The following table describes the new naming convention.

  • Bash scripts - Names start with ht-, end with .sh, and name components are separated by the dash character '-'

  • Command line programs - Names start with ht_ and name components are separated by the underscore character '_'

  • Server programs - Names start with ht and name components are camel case (e.g htMaster, htRangeServer, ...)

We strongly recommend adding the Hypertable bin/ directory to your path.  We plan to change the online documentation to assume that the bin/ directory is in the path.  If you're running Bash, you can do that by adding the following line to your .bashrc file:

export PATH=$PATH:/opt/hypertable/current/bin

Data structure serialization format improvements

We've modified the serialization format of all data structures.  The serialization format is used to persist data structures to disk or send data structures over the network and/or between processes.  The new serialization format supports forward compatibility.  This means that old programs can decode data structures written by new programs and vice-versa, which offers the following benefits:

  • Reduce the number of forward-only upgrades
  • Allow for rolling restarts

NOTE: The upgrade to 0.9.8.5 is a forward-only upgrade.  Once you upgrade to this version, you can't roll back to a previous version (without having to do serious surgery).  However, once you upgrade to 0.9.8.5, the number of subsequent forward-only upgrades should drop considerably.

Client program name normalization

The names of the client programs previously did not follow any convention (e.g. fsclient, rsclient, master_client, ...).  We've come up with a new naming convention for the client programs, whereby the name of the program is just the name of the server that it talks to with all lowercase letters.  For example, the new client programs are as follows:

ht master
ht rangeserver
ht fsbroker
ht hyperspace
ht thriftbroker

Status checks now conform to Nagios plugin standard

All status checks now conform to the Nagios plugin standard.  The exit status of the check script are as follows:

0 - OK
1 - WARNING
2 - CRITICAL
3 - UNKNOWN

The scripts also write a single line description to the console of the format <service> <status> - <description>.  For example:

FsBroker CRITICAL - connect error

The names of the check scripts are as follows:

ht-check-fsbroker.sh
ht-check-hyperspace.sh
ht-check-master.sh
ht-check-rangeserver.sh
ht-check-thriftbroker.sh

We've also introduced a system-wide Hypertable check script:

ht-check.sh

This script performs an overall health check of Hypertable.  It checks the health of all Hypertable processes on all machines in the cluster.  It does not, however, check the health of the ThriftBrokers.  Those can be checked independently with the ht-check-thriftbroker.sh script.

clean tasks/scripts have been renamed to destroy

There has been some confusion in the past about what "clean" does.  To make it very clear that these commands completely wipe out the database, they've been renamed to destroy.  For example:

ht cluster destroy

ht-destroy-database.sh

The variable PROMPT_CLEAN in the cluster.def file has also been renamed to PROMPT_DESTROY.  If you're already running ht_cluster, you should make this name change in your cluster.def file.

Doug

Doug Judd

unread,
Feb 17, 2015, 11:22:26 AM2/17/15
to hypertable-user, hyperta...@googlegroups.com
We've added a Status Checking page to the Administrator Guide of the online documentation.  This page describes the various status check scripts.

- Doug
--
Doug Judd
CEO, Hypertable Inc.
Reply all
Reply to author
Forward
0 new messages