Hi Akshat, Do you know if a Kafka Streams apps can gracefully handle SIGTERM or do we have to implement it similarly to here: https://metabroadcast.com/blog/stop-your-spark-streaming-application-gracefully
Thanks again for your help. Phillip From: Akshat Aranya <[email protected]> Date: Monday, July 18, 2016 at 10:12 AM To: "[email protected]" <[email protected]> Cc: Phillip Mann <[email protected]> Subject: Re: Deploying Kafka Streams to production (Ubuntu 16.04 / systemd) Hi Phillip, In general, it is trivial to take an existing java -jar command and systemd-ify it. All you need to do is to run it as an ExecStart in the foreground in the systemd unit file, possibly with a User setting. Something like this should work: [Unit] Description=My stream app [Service] User=unprivileged_user Restart=always ExecStart=/usr/bin/java -jar ... [Install] WantedBy=multi-user.target systemd will send a SIGTERM to the java process by default when you invoke systemctl stop. As a bonus, you also get log management of stdout/stderr via journald. On Mon, Jul 18, 2016 at 9:08 AM, Phillip Mann <[email protected]<mailto:[email protected]>> wrote: Hello Guozhang, Thanks for your reply. I am interested in systemd because that is the primary method for the environment we are working with (AWC EC2 Ubuntu 16.04 / systemd) at my company and on this project. If there is no way to deploy with systemd, then we can explore alternatives. Hopefully there is a way to do so with systemd ☺. Thanks again for your help! Phillip Hello Phillip, Thanks for your question. We are indeed working on write some guidance in docs / blogs about how to deploy a written Kafka Streams app code with different tools / frameworks. Are you particularly interested in systemd because you are using it in your company, or are you interested in general and OK with certain popular tools like YARN / Mesos / Chef / etc? Guozhang On Fri, Jul 15, 2016 at 3:57 PM, Phillip Mann <[email protected]<mailto:[email protected]>> wrote: > Hello, > > There is currently no documentation how to deploy Kafka Streams to > production. We have built a cool Kafka Streams application and we wish to > make it a part of our production system. At the moment, we currently run > the Kafka streaming application with the java –jar command and we stop the > process with the kill command (ctrl-c). Obviously, this is not how we > should deploy this application to production ☺. I have searched and > searched and found no documentation, blog, question, anything about how to > deploy a Kafka Streams jar to production. In the interest of this thread, > I am specifically interested in deploying our Kafka Streams app to Ubuntu > 16.04 and use systemd to start, stop, and if possible check the status of > the JVM process itself. It would be something similar to how Spring Boot > works ( > http://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html) > with Systemd. Please let me know what options are available for Kafka > Streams deployment and if systemd is possible. Thanks for your help and > great job on Kafka Streams! > > Phillip > -- -- Guozhang
