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.
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.
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
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 Humio
stable— the latest stable version of Humio
preview— 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_HUMIO_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.
This is generally not recommended for version updates but is convenient for configuration changes.
values.yamlwith the new configuration
Update the statefulset/pods with the new configuration by runninghumio
helm upgrade --values values.yaml humio humio/humio-helm-charts