new SubmitOptions(TopologyInitialStatus.INACTIVE);

Those options can be passed to StormSubmitter
(StormSubmitter.submitTopologyWithProgressBar for example)

On Fri, 27 Sept 2024 at 12:11, Karthick <ibmkarthickma...@gmail.com> wrote:

> 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