Upgrading from previous versions

Warning! This page documents an old version of InfluxDB, which is no longer actively developed. InfluxDB v1.2 is the most recent stable version of InfluxDB.

This page outlines process for upgrading from:

Version 0.12, 0.13, or 1.0 to 1.1 Version 0.10 or 0.11 to 1.1

Upgrade from 0.12, 0.13, or 1.0 to 1.1

  1. Download InfluxDB version 1.1

  2. Update the configuration file

    Migrate any customizations in the 1.0 configuration file to the 1.1 configuration file.

  3. Check out the new features outlined in Differences between InfluxDB 1.1 and 1.0

Upgrade from 0.10 or 0.11 to 1.1

Note: 0.10 users will need to convert any remaining b1 and bz1 shards to TSM format before following the instructions below. InfluxDB 1.1 cannot read non-TSM shards. Check for non-TSM shards in your data directory:

  • Non-TSM shards are files of the form: data/<database>/<retention_policy>/<shard_id>`
  • TSM shards are files of the form: data/<database>/<retention_policy>/<shard_id>/<file>.tsm

In versions prior to 0.12, InfluxDB stores metastore information in raft.db via the raft services. In versions 0.12+, InfluxDB stores metastore information in meta.db, a binary protobuf file.

The following steps outline how to transfer metastore information to the new format. They also outline when to upgrade the binary to 1.1 and when to generate a new configuration file.

To start out, you must be working with version 0.10 or 0.11 (don’t upgrade the influxd binary yet!). If you’ve already upgraded the binary to 1.1, reinstall 0.11.1; InfluxDB 1.1 will yield an error (run: create server: detected /var/lib/influxdb/meta/raft.db. [...]) if you attempt to start the process without completing the steps below. The examples below assume you are working with a version of linux.

Before you start, we recommend making a copy of the entire 0.10 or 0.11 meta directory in case you experience problems with the upgrade. The upgrade process removes the raft.db and node.json files from the meta directory:

cp -r <path_to_meta_directory> <path_to_011_meta_directory_backup>

Example:

Create a copy of the 0.10 or 0.11 meta directory in backups/:

~# cp -r /var/lib/influxdb/meta backups/

1. While still running 0.10 or 0.11, export the metastore data to a different directory:

influxd backup <path_to_metastore_backup>

The directory will be created if it doesn’t already exist.

Example:

Export the 0.10 or 0.11 metastore to /tmp/backup:

~# influxd backup /tmp/backup/
2016/04/01 15:33:35 backing up metastore to /tmp/backup/meta.00
2016/04/01 15:33:35 backup complete

2. Stop the influxdb service:

sudo service influxdb stop

3. Upgrade the influxd binary to 1.1. but do not start the service.

4. Upgrade your metastore to the 1.1 store by performing a restore with the backup you created in step 1.

influxd restore -metadir=<path_to_1.1_meta_directory> <path_to_metastore_backup>

Example:

Restore /tmp/backup to the meta directory in /var/lib/influxdb/meta:

~# influxd restore -metadir=/var/lib/influxdb/meta /tmp/backup
Using metastore snapshot: /tmp/backup/meta.00

5. Update the configuration file.

Compare your old configuration file against the 1.1 configuration file and manually update any defaults with your localized settings.

6. Start the 1.1 service:

sudo service influxdb start

7. Confirm that your metastore data are present.

The 1.1 output from the queries SHOW DATABASES,SHOW USERS and SHOW RETENTION POLICIES ON <database_name> should match the 0.10 or 0.11 output.

If your metastore data do not appear to be present, stop the service, reinstall InfluxDB 0.10 or 0.11, restore the copy you made of the entire 0.10 or 0.11 meta directory to the meta directory, and try working through these steps again.

8. Check out the new features outlined in Differences between InfluxDB 1.1 and 1.0.