Upgrading Elastic Stack From 8.x to 9.x on Ubuntu 24.04

Step 1: Fix GPG Key

The 9.x packages use an updated GPG key. Re-import it in the dearmored keyring format:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | \
  sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Step 2: Switch Repo to 9.x

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] \
https://artifacts.elastic.co/packages/9.x/apt stable main" | \
sudo tee /etc/apt/sources.list.d/elastic.list

sudo apt update

Step 3: Upgrade Elasticsearch

sudo systemctl stop elasticsearch
sudo apt install --only-upgrade elasticsearch
sudo systemctl daemon-reload
sudo systemctl start elasticsearch
curl -s localhost:9200 | grep number

Step 4: Upgrade Kibana

sudo systemctl stop kibana
sudo apt install --only-upgrade kibana
sudo systemctl start kibana

Step 5: Upgrade Logstash

sudo systemctl stop logstash
sudo apt install --only-upgrade logstash
sudo systemctl daemon-reload
sudo systemctl start logstash

Step 6: Upgrade Other Components (if installed)

Filebeat

sudo systemctl stop filebeat
sudo apt install --only-upgrade filebeat
sudo systemctl start filebeat

Step 7: Verify

curl -s localhost:9200 | grep number
curl -s localhost:9200/_cluster/health?pretty