Как автоматически запустить Kafka при запуске системы в Ubuntu 14.04?
есть ли у Кафки официальный способ (например, init.D скрипт) запустить Кафку при запуске системы?
единственный официальный способ начать Кафку, который я видел, это:
nohup ~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties > ~/kafka/kafka.log 2>&1 &
Я попытался использовать @reboot
задачи crontab -e
однако это не начало Кафки. Некоторые люди также написали custom init.d
есть также пользовательские init.D скрипты (например,один, два, три) однако они все другой, и я недостаточно знаком с init.d чтобы понять, какой из них, если таковые имеются, реализовать.
как запустить Kafka при запуске системы?
1 ответов
вот как я настраиваю Kafka для автоматического запуска на Ubuntu 14.04:
sudo su
cp -R ~/kafka_2.11-0.10.0.1 /opt
ln -s /opt/kafka_2.11-0.10.0.1 /opt/kafka
скопируйте следующий сценарий инициализации в /etc / init.д/Кафка:
DAEMON_PATH=/opt/kafka/
PATH=$PATH:$DAEMON_PATH/bin
# See how we were called.
case "" 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 -i 'org.apache.zookeeper.server' | grep -v grep | awk '{print }'`
if [ -n "$pid" ]
then
kill -9 $pid
else
echo "Zookeeper was not Running"
fi
echo "Shutting down Kafka";
pid=`ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print }'`
if [ -n "$pid" ]
then
kill -9 $pid
else
echo "Kafka was not Running"
fi
;;
restart)
stop
sleep 2
start
;;
status)
pid=`ps ax | grep -i 'org.apache.zookeeper.server' | grep -v grep | awk '{print }'`
if [ -n "$pid" ]
then
echo "Zookeeper is Running as PID: $pid"
else
echo "Zookeeper is not Running"
fi
pid=`ps ax | grep -i 'kafka.Kafka' | grep -v grep | awk '{print }'`
if [ -n "$pid" ]
then
echo "Kafka is Running as PID: $pid"
else
echo "Kafka is not Running"
fi
;;
*)
echo "Usage: {start|stop|restart|status}"
exit 1
esac
exit 0
сделайте службу Кафки с этими командами:
chmod 755 /etc/init.d/kafka
update-rc.d kafka defaults
теперь вы должны иметь возможность запускать и останавливать службу Кафки следующим образом:
sudo service kafka start
sudo service kafka status
sudo service kafka stop
если вы хотите удалить службу Kafka позже, запустите update-rc.d -f kafka remove
.