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! > > > > > > > > > > > > > > >