In summary, on 2.x, you shouldn't need to worry about PaceMaker. And I don't suggest to support running older version of topologies running on 2.x storm cluster. It is painful in practice.
On Wed, Apr 8, 2020 at 10:44 PM Ethan Li <ethanopensou...@gmail.com> wrote: > Hi Andrew, > > There are two places Pacemaker can be used. > > 1. Storm 2.x actually supports running older version of topologies (i.e. > topology compiled with storm 0.x or 1.x). We have been doing it inside my > company for a long time. It's kind of painful to support it but it works. > When older version of topologies running on 2.x Storm cluster, it runs > older worker code and it can use PaceMaker to mitigate the performance > issue on zookeeper. Hence the code here still check the heartbeat from > Zookeeper if any. > https://github.com/apache/storm/blob/master/storm-server/src/main/java/org/apache/storm/daemon/nimbus/Nimbus.java#L2219-L2222 > > > 2. In 2.x, workers write heartbeats to disk and supervisor pick them up > and send to nimbus directly. It has another timer (run every 60s by > default) to send executor status through PaceMaker/Zookeeper. > https://github.com/apache/storm/blob/master/storm-client/src/jvm/org/apache/storm/daemon/worker/Worker.java#L217-L220 > And these are executor metrics (emitted, executed, etc.) used on UI. > This timer only happens every 60s. So it shouldn't overload zookeeper. But > Pacemaker can still be used here. The graph at > https://github.com/apache/storm/pull/2389 might help to understand this. > > The code is merged at https://github.com/apache/storm/pull/2433 > > > On Wed, Mar 18, 2020 at 6:38 PM Andrew Neilson <arsneil...@gmail.com> > wrote: > >> Hi Ethan, >> >> Pacemaker is not required but still can be used. >>> >> >> Under what circumstances would Pacemaker be used on v2.0+? It's not >> totally clear to me from how that ticket is written but it looks like that >> replaced all of the heartbeat logic that was managed by Pacemaker and ZK in >> older versions. >> >> Thanks, >> Andrew >> >> On Thu, Mar 5, 2020 at 7:08 PM Ethan Li <ethanopensou...@gmail.com> >> wrote: >> >>> Hi Surajeet, >>> >>> In 2.0, with the change in STORM-2693 >>> <https://issues.apache.org/jira/browse/STORM-2693>, supervisors will >>> send worker heartbeat to nimbus directly. Pacemaker is not required but >>> still can be used. >>> >>> >>> Links: >>> [1] https://issues.apache.org/jira/browse/STORM-2693 >>> >>> Best, >>> Ethan >>> >>> On Feb 18, 2020, at 1:03 PM, Surajeet Dev <surajeetapa...@gmail.com> >>> wrote: >>> >>> I am aware that Pacemaker was introduced to avoid Zookeeper becoming a >>> bottleneck when there is high volume of worker heartbeat. >>> >>> Will Pacemaker be still required if we upgrade to Storm 2.0? Or is it >>> with 2.0 , the whole thing has been re-architected? >>> >>> Regards >>> Surajeet >>> >>> >>>