Created
March 23, 2012 15:03
-
-
Save sasha-id/2171496 to your computer and use it in GitHub Desktop.
MongoDB multiple instance upstart scripts: mongodb, mongod --configsvr and mongos
This file contains 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
MongoDB upstart scripts for Ubuntu. | |
Run following commands after installing upstart scripts: | |
ln -s /lib/init/upstart-job /etc/init.d/mongoconf | |
ln -s /lib/init/upstart-job /etc/init.d/mongodb | |
ln -s /lib/init/upstart-job /etc/init.d/mongos | |
To start services use: | |
service mongodb [start|stop|restart] | |
service mongoconf [start|stop|restart] | |
service mongos [start|stop|restart] |
This file contains 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
# /etc/mongo.conf | |
MONGODB_ENABLED=yes | |
MONGOCONF_ENABLED=no | |
MONGOS_ENABLED=no |
This file contains 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
# /etc/mongoconf.conf | |
#configsvr config file | |
#start mongod in configsvr mode | |
configsvr=true | |
#where to log | |
logpath=/var/log/mongodb/mongoconf.log | |
#log overwritten or appended to | |
logappend=true | |
#override port | |
#port=27019 | |
#path to data files | |
#dbpath=/data/configdb | |
smallfiles = true |
This file contains 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
# /etc/mongos.conf | |
#mongos config file | |
#config servers | |
configdb=host1:27019,host2:27019,host3:27019 | |
#where to log | |
logpath=/var/log/mongodb/mongos.log | |
#log overwritten or appended to | |
logappend=true | |
#override port | |
#port=27017 |
This file contains 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
# Ubuntu upstart file at /etc/init/mongoconf.conf | |
limit nofile 20000 20000 | |
kill timeout 300 # wait 300s between SIGTERM and SIGKILL. | |
start on runlevel [2345] | |
stop on runlevel [06] | |
script | |
if [ -f /etc/mongo.conf ]; then . /etc/mongo.conf; fi | |
if [ "x$MONGOCONF_ENABLED" = "xyes" ]; then | |
ENABLE_MONGOCONF="yes" | |
if [ "x$ENABLE_MONGOCONF" = "xyes" ]; then exec start-stop-daemon --make-pidfile --pidfile /var/run/mongoconf.pid --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongoconf.conf; fi | |
fi | |
end script |
This file contains 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
# Ubuntu upstart file at /etc/init/mongodb.conf | |
limit nofile 20000 20000 | |
kill timeout 300 # wait 300s between SIGTERM and SIGKILL. | |
pre-start script | |
mkdir -p /var/lib/mongodb/ | |
mkdir -p /var/log/mongodb/ | |
end script | |
start on runlevel [2345] | |
stop on runlevel [06] | |
script | |
if [ -f /etc/mongo.conf ]; then . /etc/mongo.conf; fi | |
if [ "x$MONGODB_ENABLED" = "xyes" ]; then | |
ENABLE_MONGODB="yes" | |
if [ -f /etc/default/mongodb ]; then . /etc/default/mongodb; fi | |
if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --make-pidfile --pidfile /var/run/mongodb.pid --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongodb.conf; fi | |
fi | |
end script |
This file contains 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
# Ubuntu upstart file at /etc/init/mongos.conf | |
limit nofile 20000 20000 | |
kill timeout 300 # wait 300s between SIGTERM and SIGKILL. | |
start on runlevel [2345] | |
stop on runlevel [06] | |
script | |
if [ -f /etc/mongo.conf ]; then . /etc/mongo.conf; fi | |
if [ "x$MONGOS_ENABLED" = "xyes" ]; then | |
ENABLE_MONGOS="yes" | |
if [ "x$ENABLE_MONGOS" = "xyes" ]; then exec start-stop-daemon --make-pidfile --pidfile /var/run/mongos.pid --start --quiet --chuid mongodb --exec /usr/bin/mongos -- --config /etc/mongos.conf; fi | |
fi | |
end script |
@KevinBurton take off the S20, this is simply a way for the system to understand the order these start and stop commands need to be executed.
@sebastianmarr - What did you end up doing to solve the ordering problem?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Helpful config files, thanks!
Is there any way to check if a config server is online before starting mongos? Because otherwise it would just fail silently.