Skip to content

Instantly share code, notes, and snippets.

@mottyc
Last active January 10, 2022 07:07
Show Gist options
  • Save mottyc/e63a68a9d4940dfc993d to your computer and use it in GitHub Desktop.
Save mottyc/e63a68a9d4940dfc993d to your computer and use it in GitHub Desktop.

Revisions

  1. Motty Cohen revised this gist Feb 8, 2015. 1 changed file with 44 additions and 57 deletions.
    101 changes: 44 additions & 57 deletions kafka-service-script
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@ KAFKA_HOME=/usr/share/kafka
    KAFKA_USER=root
    KAFKA_SCRIPT=$KAFKA_HOME/bin/kafka-server-start.sh
    KAFKA_CONFIG=$KAFKA_HOME/config/server.properties
    KAFKA_CONSOLE_LOG=$KAFKA_HOME/logs/console.log
    KAFKA_CONSOLE_LOG=/var/log/kafka/console.log

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

    @@ -25,16 +25,6 @@ KAFKA_PIDFILE=/var/run/kafka/kafka.pid
    # Source function library.
    . /etc/init.d/functions

    CMD_PREFIX=''

    if [ ! -z "$KAFKA_USER" ]; then
    if [ -r /etc/init.d/functions ]; then
    CMD_PREFIX="daemon --user $KAFKA_USER"
    else
    CMD_PREFIX="su - $KAFKA_USER -c"
    fi
    fi

    start() {
    echo -n $"Starting $prog: "

    @@ -51,30 +41,33 @@ start() {
    fi
    fi

    mkdir -p $(dirname $KAFKA_PIDFILE)
    chown $KAFKA_USER $(dirname $KAFKA_PIDFILE) || true
    rm -f $KAFKA_CONSOLE_LOG
    mkdir -p $(dirname $KAFKA_PIDFILE)
    chown $KAFKA_USER $(dirname $KAFKA_PIDFILE) || true

    # Run daemon
    cd $KAFKA_HOME
    $CMD_PREFIX KAFKA_PIDFILE=$KAFKA_PIDFILE "$KAFKA_SCRIPT $KAFKA_CONFIG" 2>&1 >> $KAFKA_CONSOLE_LOG 2>&1 &
    # Run daemon
    cd $KAFKA_HOME
    nohup sh $KAFKA_SCRIPT $KAFKA_CONFIG 2>&1 >> $KAFKA_CONSOLE_LOG 2>&1 &
    PID=$!
    echo $PID > $KAFKA_PIDFILE

    count=0
    launched=false

    count=0
    launched=false

    until [ $count -gt $STARTUP_WAIT ]
    do
    grep 'started' $KAFKA_CONSOLE_LOG > /dev/null
    if [ $? -eq 0 ] ; then
    launched=true
    break
    fi
    sleep 1
    let count=$count+1;
    done
    until [ $count -gt $STARTUP_WAIT ]
    do
    grep 'started' $KAFKA_CONSOLE_LOG > /dev/null
    if [ $? -eq 0 ] ; then
    launched=true
    break
    fi
    sleep 1
    let count=$count+1;
    done

    success
    echo
    return 0
    success
    echo
    return 0
    }


    @@ -98,23 +91,25 @@ stop() {
    kill -9 $kpid
    fi
    fi
    rm -f $KAFKA_PIDFILE

    rm -f $KAFKA_PIDFILE
    rm -f $KAFKA_CONSOLE_LOG
    success
    echo
    }

    reload() {
    stop
    start
    stop
    start
    }

    restart() {
    stop
    start
    stop
    start
    }

    status() {
    if [ -f $KAFKA_PIDFILE ]; then
    if [ -f $KAFKA_PIDFILE ]; then
    read ppid < $KAFKA_PIDFILE
    if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
    echo "$prog is running (pid $ppid)"
    @@ -124,42 +119,34 @@ status() {
    return 1
    fi
    fi
    echo "$prog is not running"
    echo "$prog is not running"
    return 3
    }

    case "$1" in
    start)
    start
    ;;
    start
    ;;

    stop)
    stop
    ;;
    stop
    ;;

    reload)
    reload
    ;;
    reload
    ;;

    restart)
    restart
    ;;
    restart
    ;;

    status)
    status
    ;;
    status
    ;;
    *)

    echo $"Usage: $0 {start|stop|reload|restart|status}"
    exit 1
    esac

    exit $?








  2. Motty Cohen created this gist Feb 5, 2015.
    165 changes: 165 additions & 0 deletions kafka-service-script
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,165 @@
    #! /bin/sh
    # /etc/init.d/kafka: start the kafka daemon.

    # chkconfig: - 80 20
    # description: kafka

    KAFKA_HOME=/usr/share/kafka
    KAFKA_USER=root
    KAFKA_SCRIPT=$KAFKA_HOME/bin/kafka-server-start.sh
    KAFKA_CONFIG=$KAFKA_HOME/config/server.properties
    KAFKA_CONSOLE_LOG=$KAFKA_HOME/logs/console.log

    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

    prog=kafka
    DESC="kafka daemon"

    RETVAL=0
    STARTUP_WAIT=30
    SHUTDOWN_WAIT=30

    KAFKA_PIDFILE=/var/run/kafka/kafka.pid


    # Source function library.
    . /etc/init.d/functions

    CMD_PREFIX=''

    if [ ! -z "$KAFKA_USER" ]; then
    if [ -r /etc/init.d/functions ]; then
    CMD_PREFIX="daemon --user $KAFKA_USER"
    else
    CMD_PREFIX="su - $KAFKA_USER -c"
    fi
    fi

    start() {
    echo -n $"Starting $prog: "

    # Create pid file
    if [ -f $KAFKA_PIDFILE ]; then
    read ppid < $KAFKA_PIDFILE
    if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
    echo -n "$prog is already running"
    failure
    echo
    return 1
    else
    rm -f $KAFKA_PIDFILE
    fi
    fi

    mkdir -p $(dirname $KAFKA_PIDFILE)
    chown $KAFKA_USER $(dirname $KAFKA_PIDFILE) || true

    # Run daemon
    cd $KAFKA_HOME
    $CMD_PREFIX KAFKA_PIDFILE=$KAFKA_PIDFILE "$KAFKA_SCRIPT $KAFKA_CONFIG" 2>&1 >> $KAFKA_CONSOLE_LOG 2>&1 &

    count=0
    launched=false

    until [ $count -gt $STARTUP_WAIT ]
    do
    grep 'started' $KAFKA_CONSOLE_LOG > /dev/null
    if [ $? -eq 0 ] ; then
    launched=true
    break
    fi
    sleep 1
    let count=$count+1;
    done

    success
    echo
    return 0
    }


    stop() {
    echo -n $"Stopping $prog: "
    count=0;

    if [ -f $KAFKA_PIDFILE ]; then
    read kpid < $KAFKA_PIDFILE
    let kwait=$SHUTDOWN_WAIT

    # Try issuing SIGTERM
    kill -15 $kpid
    until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
    do
    sleep 1
    let count=$count+1;
    done

    if [ $count -gt $kwait ]; then
    kill -9 $kpid
    fi
    fi
    rm -f $KAFKA_PIDFILE
    success
    echo
    }

    reload() {
    stop
    start
    }

    restart() {
    stop
    start
    }

    status() {
    if [ -f $KAFKA_PIDFILE ]; then
    read ppid < $KAFKA_PIDFILE
    if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
    echo "$prog is running (pid $ppid)"
    return 0
    else
    echo "$prog dead but pid file exists"
    return 1
    fi
    fi
    echo "$prog is not running"
    return 3
    }

    case "$1" in
    start)
    start
    ;;

    stop)
    stop
    ;;

    reload)
    reload
    ;;

    restart)
    restart
    ;;

    status)
    status
    ;;
    *)

    echo $"Usage: $0 {start|stop|reload|restart|status}"
    exit 1
    esac

    exit $?