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

Reply via email to