-
-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhancement req: enable support to control Kafka server restarts #58
Comments
I think we can achieve this via a more simple method of extending (or removing) the service action for Kafka. Previously, in Chef-BCPC we extended the service action to notify our cookbook's kafka verification step for example. For others' reference, in our cookbooks we are trying to implement a rolling configuration restart for the services on our clusters. Right now, we are looking at having a LWRP wrap our service actions so that the Thanks to this community for the awesome Kafka cookbook! |
I see what you're getting at, and I don't have any particular preference regarding this (more than it should be configurable) as we're not really using Chef to do coordinated restarts of services (currently a manual process). I'm all for any possible solutions that aren't too crazy. Not sure I'm completely following your suggestion, could you provide some sample code for exactly how this would work? @cbaenziger: I made an attempt to look through the "rolling configuration restart" link and from what I could make of it, it looked like the restarts would be coordinated using ZooKeeper, no? |
Hi @mthssdrbrg , thank you for looking at the request. The following will be the outline of the code changes for the proposed solution.
These changes should leave the function of the cookbook as it is today. When someone would like to use the cookbook and include logic to control the restart of Kafka process say by using ZooKeeper as we are doing, in the wrapper cookbook they can
The write-up is long but the changes are trivial. Please let me know if you have any questions. Also I may have overlooked details in the cookbook and if so let me know. |
Thanks for the very detailed explanation, that's pretty much what I thought as well, just wanted to make sure that we were on the same page :). As long as it's backwards compatible I have no problem with including functionality as such, and wouldn't mind reviewing a pull request. |
Closed by #63. Perhaps the README should be updated with a description of this though, |
@bijugs I just realized that the |
@mthssdrbrg, the reason I had included the |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
One of the scenarios which Kafka users will come across often is the restart of Kafka servers in a cluster to deploy new changes with minimal down time. When chef-client is run in batch on all the nodes (scheduled as daemons), there is a possibility that many kafka servers are brought down at the same time due to restart for config changes resulting in availability/performance issue. The worst case scenario would be all but one Kafka server is brought down.
Another way to alleviate this scenario will be to control the number of servers which can be restarted at a time which can vary by users based on how many replication they set for the topic partitions. Can we provide some feature to be able to control the restart of the particular Kafka node. One way would be to
_configure.rb
This will help users to override the default "new" recipe file with their own recipe file and logic to control whether the Kafka server can be restarted or not. Let me know if you have any questions/thoughts.
The text was updated successfully, but these errors were encountered: