Updating Humio in a Cluster
This guide will take you through the steps required to update your Humio cluster to a newer version.
You should always check the Release Notes for the all versions between the version of Humio you are currently running and the version you are installing.
Data Migrations
Some versions are marked with Data Migrations indicating that Humio's internal database will be migrated to a new schema. This is usually one way and that implies you cannot easily downgrade if you have issues with the new version.
Warning
If a version is marked as having data migrations, you will need to update all nodes at the same time, else you might corrupt the cluster's metadata. This means taking all nodes offline while updating. Hopefully all clients are configured with data retransmission, using FileBeat or something similar, so you should not see any data loss.
Updating a Node
Updating Humio is a matter of stopping the old running version and starting the new version, on top of the same data directories, and with the same configuration, in most cases. Some releases have instructions in their release notes on required steps to update, but most releases should run on top of the previous one.
We recommend that you make a backup copy of the file
$DATA_DIR/humio-data/global-data-snapshot.json
before you update — preferably after shutting down the old version
but before starting the new one. This file can be used to roll back to
the previous version if necessary.
Running in Docker
When using Docker images to run Humio, update by pulling the latest version of the Docker image and running it using the same Docker arguments as previously.
All Humio images are tagged with a version:
latest
— the latest stable version of Humiostable
— the latest stable version of Humiopreview
— the latest preview version of Humio
In the example below, latest
is used as version to
update the single image Docker version, where everything is inside a
single Docker container.
docker stop humio || true
docker rm humio || true
docker pull humio/humio:latest
docker run \
-v $YOUR_LOGSCALE_URL_DATA_DIR:/data \
--net=host \
--detach \
--restart=always \
--name=humio \
--stop-timeout 300 \
--env-file=$PATH_TO_CONFIG_FILE humio/humio
Running from Java jar
When running the Humio jar outside Docker, download the latest version and restart the Java process on the new jar file.
Running in Kubernetes
If running the Humio Operator, see the Upgrading Humio Operator on Kubernetes documentation.
If running the Humio Helm Chart, see the Upgrading with Kubernetes section of the Helm Chart documentation page.
Warning
This is generally not recommended for version updates but is convenient for configuration changes.
Update the
values.yaml
with the new configurationUpdate the statefulset/pods with the new configuration by running
logscalehelm upgrade --values values.yaml humio humio/humio-helm-charts