Last active
January 2, 2018 08:36
-
-
Save myleshk/01935aba8a3b78f44f68e4b6cc9350e0 to your computer and use it in GitHub Desktop.
Init Script for Apache Kafka as Ubuntu Service (Deprecated)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #! /bin/sh | |
| ### BEGIN INIT INFO | |
| # Provides: kafka | |
| # Required-Start: $local_fs $remote_fs $network $syslog $named | |
| # Required-Stop: $local_fs $remote_fs $network $syslog $named | |
| # Default-Start: 2 3 4 5 | |
| # Default-Stop: 0 1 6 | |
| # Short-Description: Kafka server | |
| ### END INIT INFO | |
| DAEMON_PATH=/path/to/kafka/ ### CHANGE THIS TO YOUR OWN PATH ### | |
| PATH=$PATH:$DAEMON_PATH/bin | |
| # See how we were called. | |
| case "$1" in | |
| start) | |
| # Start daemon. | |
| echo "Starting Zookeeper"; | |
| nohup $DAEMON_PATH/bin/zookeeper-server-start.sh -daemon $DAEMON_PATH/config/zookeeper.properties 2> /dev/null && \ | |
| echo "Starting Kafka"; | |
| nohup $DAEMON_PATH/bin/kafka-server-start.sh -daemon $DAEMON_PATH/config/server.properties 2> /dev/null | |
| ;; | |
| stop) | |
| # Stop daemons. | |
| echo "Shutting down Zookeeper"; | |
| pid=$(ps ax | grep -v grep | grep -i 'org\.apache\.zookeeper\.server' | awk '{print $1}') | |
| if [ -n "$pid" ] | |
| then | |
| kill -9 "$pid" | |
| else | |
| echo "Zookeeper was not Running" | |
| fi | |
| echo "Shutting down Kafka"; | |
| pid=$(ps ax | grep -v grep | grep -i 'kafka\.Kafka' | awk '{print $1}') | |
| if [ -n "$pid" ] | |
| then | |
| kill -9 "$pid" | |
| else | |
| echo "Kafka was not Running" | |
| fi | |
| ;; | |
| restart) | |
| $0 stop | |
| sleep 2 | |
| $0 start | |
| ;; | |
| status) | |
| pid=$(ps ax | grep -v grep | grep -i 'org\.apache\.zookeeper\.server' | awk '{print $1}') | |
| if [ -n "$pid" ] | |
| then | |
| echo "Zookeeper is Running as PID: $pid" | |
| else | |
| echo "Zookeeper is not Running" | |
| fi | |
| pid=$(ps ax | grep -v grep | grep -i 'kafka\.Kafka' | awk '{print $1}') | |
| if [ -n "$pid" ] | |
| then | |
| echo "Kafka is Running as PID: $pid" | |
| else | |
| echo "Kafka is not Running" | |
| fi | |
| ;; | |
| *) | |
| echo "Usage: $0 {start|stop|restart|status}" | |
| exit 1 | |
| esac | |
| exit 0 |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
While this method still work under Ubuntu 16.04, it is kind of deprecated in latest Linux systems, and
systemdis preferred.Here is the solution using
systemdon Ubuntu 16.04:https://gist.github.com/myleshk/21e3edae82a73a70c72271e18bd5b108
P.S. This solution only runs Kafka as
rootuser, and in the linked solution, userkafkais used.