我在使用Ubuntu 14的Amazon实例上安装了Apache Cassandra 2.1.0.是否可以启动Apache Cassandra作为服务?
我没有评论的声誉,但请不要使用开箱即用的其他人建议的开始脚本!
它们中存在以下问题:
Debian的更正脚本如下:
#!/bin/bash
# Cassandra database
### BEGIN INIT INFO
# Provides: cassandra
# Required-Start: $remote_fs $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Apache Cassandra database server
# Description: Apache Cassandra database server
### END INIT INFO
. /lib/lsb/init-functions
CASSANDRA_HOME=/home/db/packages/apache-cassandra
CASSANDRA_BIN=$CASSANDRA_HOME/bin/cassandra
CASSANDRA_NODETOOL=$CASSANDRA_HOME/bin/nodetool
CASSANDRA_LOG=$CASSANDRA_HOME/logs/cassandra.log
CASSANDRA_PID=/var/run/cassandra.pid
CASSANDRA_LOCK=/var/lock/subsys/cassandra
PROGRAM="cassandra"
USER=db
if [ ! -f $CASSANDRA_BIN ]; then
echo "File not found: $CASSANDRA_BIN"
exit 1
fi
RETVAL=0
start() {
log_action_begin_msg "Starting $PROGRAM"
if [ -f $CASSANDRA_PID ] && checkpid `cat $CASSANDRA_PID`; then
echo "Cassandra is already running."
exit 0
fi
log_action_msg "Executing command as user $USER"
TMPFILE=/tmp/cassandra.$RANDOM
su --login $USER --command "$CASSANDRA_BIN -p $TMPFILE" >> $CASSANDRA_LOG 2>&1
RETVAL=$?
cat $TMPFILE > $CASSANDRA_PID
rm $TMPFILE
sleep 10
if [ $RETVAL -eq 0 ]; then
touch $CASSANDRA_LOCK
log_action_end_msg $RETVAL
else
log_failure_msg "returned $RETVAL on startup"
fi
return $RETVAL
}
stop() {
log_action_begin_msg "Stopping $PROGRAM: "
if [ ! -f $CASSANDRA_PID ]; then
log_action_msg "Cassandra is already stopped."
exit 0
fi
$CASSANDRA_NODETOOL disablegossip
$CASSANDRA_NODETOOL disablethrift
$CASSANDRA_NODETOOL drain
if kill `cat $CASSANDRA_PID`; then
RETVAL=0
rm -f $CASSANDRA_LOCK
log_action_end_msg 0
else
RETVAL=1
log_failure_msg "can't kill PID $CASSANDRA_PID"
fi
return $RETVAL
}
status_fn() {
if [ -f $CASSANDRA_PID ] && checkpid `cat $CASSANDRA_PID`; then
echo "Cassandra is running."
exit 0
else
echo "Cassandra is stopped."
exit 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status_fn
;;
restart)
stop
start
;;
*)
echo $"Usage: $PROGRAM {start|stop|restart|status}"
RETVAL=3
esac
exit $RETVAL
Run Code Online (Sandbox Code Playgroud)
是的,你可以,如果你使用 debian 软件包,那么它会自动注册为服务。但您使用的是 tar,因此您需要按照以下链接中给出的步骤进行操作。
http://jansipke.nl/centos-cassandra-init-start-stop-script/
当你使用 tarball 时,无论是 Debian 还是 Cent 系列。
| 归档时间: |
|
| 查看次数: |
15722 次 |
| 最近记录: |