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