TagCloud

Wednesday, January 2, 2013

mongoDB installation script

mongodb 2.2.2 source installation ( CentOS 6.3 x64 )

1. pre installation
yum install scons # install scons
yum install gcc-c++ # install scons

1. mongodb 2.2.2 download , tar
- wget http://downloads.mongodb.org/src/mongodb-src-r2.2.2.tar.gz
- tar -xvzf mongodb-src-r2.2.2.tar.gz
- cd mongodb-src-r2.2.2
2. scons all & scons install
scons --prefix=/srv/mongo install
chown -Rf luvu.luvu /srv/mongo
3. copy init configuration file
mkdir /srv/mongo/data # make data dir
mkdir /srv/mongo/log # log dir
mkdir /srv/mongo/conf # conf dir
cp /srv/src/mongodb-src-r2.2.2/rpm/mongod.sysconfig /etc/sysconfig/mongod # sysconfig
cp /srv/src/mongodb-src-r2.2.2/rpm/mongod.conf /srv/mongo/conf/mongod.conf # configuration file
vi /srv/mongo/conf/mongod.conf
logpath=/srv/mongo/log/mongod.log # log path
dbpath=/srv/mongo/data # data path
pidfilepath = /srv/mongo/run/mongod.pid # pid path

cp /srv/src/mongodb-src-r2.2.2/rpm/init.d-mongod /etc/init.d/mongod # daemon 
vi /etc/init.d/mongod
...
CONFIGFILE="/srv/mongo/conf/mongod.conf"
OPTIONS=" -f $CONFIGFILE"
SYSCONFIG="/etc/sysconfig/mongod"
...
mongod=${MONGOD-/srv/mongo/bin/mongod}

MONGO_USER=luvu
MONGO_GROUP=luvu

killproc -p "$PIDFILE" -d 300 /srv/mongo/bin/mongod # modify mongod path
...

chmod +x /etc/init.d/mongod
4. chkconfig
chkconfig --add mongod
chkconfig --list

5. firewall allow
iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
service iptables save
service iptables restart

6. start service
service mongod start

7. ETC - 가상환경에서 테스트시, mongo.conf 에서 데이터 사이즈 관련하여 smallfiles=true 로 설정하여 테스트해야 할 필요성이 발생할수도 있음 ( http://docs.mongodb.org/manual/reference/configuration-options/ )


Next Step :
- Cluster Setting

Reference :
http://www.mongodb.org/display/DOCS/Building+for+Linux
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/
http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo
http://docs.mongodb.org/manual/reference/configuration-options/