Hi Rui, How to submit topology with inactive mode? Does the storm support this? Please advise
On Sun, Sep 22, 2024 at 9:42 PM Karthick <ibmkarthickma...@gmail.com> wrote: > Thanks Rui for providing suggestions, I will try out and come back to you. > > On Sun, Sep 22, 2024 at 3:55 PM Rui Abreu <rui.ab...@gmail.com> wrote: > >> You can try to speed up the upload process by tweaking >> https://github.com/apache/storm/blob/master/conf%2Fdefaults.yaml#L66 >> >> But regardless of the speed of the upload, in your upload class there are >> some steps you can take: >> - submit the new topology alongside the old one (with a different version >> on the name) >> - submit it as inactive >> - using the nimbus client, wait for the new topology to have workers >> assigned, which means it's ready to be activated >> - deactivate the old topology >> - activate the new one >> - kill the old topology >> >> Using this strategy, you are looking at a few seconds worth of >> interruption >> of the flow. >> >> On Sun, Sep 22, 2024, 08:21 Karthick <ibmkarthickma...@gmail.com> wrote: >> >> > Yes slowness is my concern, my consumer process in the spout will be >> > stopped and start on after submitting the topology. So it is treated as >> a >> > downtime. >> > >> > On Sat, Sep 21, 2024 at 9:33 PM Rui Abreu <rui.ab...@gmail.com> wrote: >> > >> > > > >> > > > If I add all dependencies in the topology jar it's size is too large >> > > around >> > > > 350MB. >> > > > >> > > >> > > Do you get an error when uploading the uber jar? Or is it just slow? >> > > >> > > I believe the most practical process is indeed the submission of all >> > > dependencies on a single bundle. That's how I've always been using >> Storm. >> > > >> > > >> > > On Sat, 21 Sept 2024 at 06:41, Karthick <ibmkarthickma...@gmail.com> >> > > wrote: >> > > >> > > > Thanks for the reply Aaron, Rui >> > > > >> > > > Why do you need to update dependencies on external-lib on both >> Nimbus >> > > > > and Supervisor? >> > > > >> > > > >> > > > Like we may use jackson, kafka client, apache commons, other >> internal >> > > > frameworks jars and other third parties jars, so we do have those in >> > the >> > > > external-lib, on the jar version changes we do change those jars in >> > > > external-lib. >> > > > >> > > > >> > > > Are you not submitting an uber-jar with all your dependencies plus >> > > > > your topology? >> > > > >> > > > If I add all dependencies in the topology jar it's size is too large >> > > around >> > > > 350MB. >> > > > >> > > > >> > > > Announce deployment well ahead of time - allowing users to plan >> > switches >> > > to >> > > > > other clusters if desired. >> > > > >> > > > >> > > > Aaron, i'm asking for the topology code changes and internal jar >> > version >> > > > changes update. Not for upgrading the Storm version, sorry for not >> > > setting >> > > > proper questions here. >> > > > >> > > > On Fri, Sep 20, 2024 at 8:57 PM Rui Abreu <rui.ab...@gmail.com> >> wrote: >> > > > >> > > > > Hello Karthick, >> > > > > Why do you need to update dependencies on external-lib on both >> Nimbus >> > > > > and Supervisor? >> > > > > Are you not submitting an uber-jar with all your dependencies plus >> > > > > your topology? >> > > > > >> > > > > >> > > > > >> > > > > On Fri, 20 Sept 2024 at 08:10, Karthick < >> ibmkarthickma...@gmail.com> >> > > > > wrote: >> > > > > > >> > > > > > Dear Apache Storm Community, >> > > > > > >> > > > > > I am currently managing an Apache Storm cluster with 38 nodes: 3 >> > > > > dedicated >> > > > > > to ZooKeeper, 1 to Nimbus and the UI, and 34 nodes running >> > Supervisor >> > > > and >> > > > > > Logviewer processes. Each node has 2 Workers. >> > > > > > >> > > > > > At present, our topology update process involves the following >> > steps: >> > > > > > >> > > > > > 1. Killing the existing topology. >> > > > > > 2. Changing dependency JARs under the external-lib dir and >> > > > restarting >> > > > > > Nimbus. >> > > > > > 3. Changing dependency JARs under the external-lib dir and >> > > > restarting >> > > > > > Supervisors. >> > > > > > 4. Submitting the new topology. >> > > > > > >> > > > > > Each operation takes about 2–3 minutes. As the number of >> Supervisor >> > > > nodes >> > > > > > increases, the overall time for topology updates is becoming a >> > > concern. >> > > > > > >> > > > > > I am reaching out to seek advice on how to optimize this >> process, >> > as >> > > I >> > > > > > believe there are more efficient ways to handle topology >> updates in >> > > > > > large-scale Storm deployments. Specifically: >> > > > > > >> > > > > > - Is there a more efficient process to handle code changes >> > without >> > > > > > having to manually restart Nimbus and Supervisors? >> > > > > > - How can I reduce the overall time for topology updates, >> > > especially >> > > > > as >> > > > > > our cluster continues to grow? >> > > > > > - Are there industry-standard practices for implementing >> rolling >> > > > > updates >> > > > > > or automating the deployment process? >> > > > > > >> > > > > > Any insights, recommendations, or best practices that could help >> > > > > streamline >> > > > > > our update process would be greatly appreciated. >> > > > > > >> > > > > > Thank you for your time, and I look forward to your suggestions! >> > > > > >> > > > >> > > >> > >> >