How to upgrade druid version 0.18.1 to version 0.21.1

I am new to Druid. I have a druid setup V0.18.1, and I want to upgrade that.
How can I upgrade from V0.18.1 to V0.21.1 ?

I have referred this below mentioned link, but didn’t get properly.

In the Rolling Updates, they have just mentioned to add the parameter like druid.indexer.task.restoreTasksOnRestart=true.

But my question is, after adding this parameter, what exactly I should follow the steps?

I don’t want to lose the data and jobs are running in to the druid. Without any downtime how can I upgrade the druid?

Can anyone please help me??

Thank you in advance

I think right at the top of the article it gives you the specific order to upgrade your processes

Historical
*Overlord (if any)
*Middle Manager/Indexers (if any)
Standalone Real-time (if any)
Broker
Coordinator ( or merged Coordinator+Overlord )

If it were me, I would also take a backup and test that I know how to restore fully to the same version I have now before I upgrade. I would also go check out all the release notes to check whether I need to go version-by-version…

Thank you so much for your response.

Can you tell me how to upgrade these all services ?
Historical
*Overlord (if any)
*Middle Manager/Indexers (if any)
Standalone Real-time (if any)
Broker
Coordinator ( or merged Coordinator+Overlord )

I mean, In our server we are having the coordinator, indexer, broker, overlord, router, kafka, zk.

Here they have mentioned that first Historical need to be upgraded then overlord followed by indexer broker coordinator.
But my question is how?

Do I need to first download the Druid version 0.21.1 ?
Is there any commands to do the upgrade or any installation process?

Oh it’s all on one server? That upgrade route would be if you are running clustered mode, I guess? When I do an upgrade on a local machine, for example, I will download the latest druid version, and then I do a diff to see what the differences are. Most likely, it will be the config files – var/sv contains logs, etc. Then I will copy over those config files - like the runtime properties - into the new folder. But that is just me, and it’s not a production system :smiley: :smiley:

Oh kk…
Thank you so much Peter!
Yes it’s clustered mode.
Means, I have to install the new version (0.21.1) of druid in each server and copy the config files from old version(0.18.1) to new version (0.21.1), also copy the /var folder.

If we are installing new version of druid means this won’t overwrite, newly it will get installed, right?
After installing we need to set the config and just to recover our data we are copying all the logs which is stored in the /var … is it?

As per the above mentioned steps, firstly we need to install the druid in all the historical nodes, set the config files and copy the all logs which is present in the /var directory.
Then same thing need to do for overlord, then indexer, then kafka and kafka zookeeper, then broker, and lastly coordinator.

Am I right?

May be after the coordinator same thing should be followed with the router where the router is present, right?

And after installation, and moving the config files and /var dir, we need to run the ./bin/start-micro-quickstart in each server ???

Please once confirm my statement and let me know whether I am thinking correct, and if I am wrong please correct me. Because I want to do this in production.

Thank you in advance!

Did you get this done? You definitely wouldn’t want to run start-micro-quickstart for a clustered environment. I don’t see that you need to copy /var files over, either (off the top of my head). As Peter said, you could install new version (one server at a time), shut down on that node, do diff on config files to find any custom settings you need to add to new config files, and restart. But it’s best to review docs carefully, that’s off the top of my head, and there can be particular steps needed for particular versions.