三蔵開発メモ

Web開発やインフラ関連のメモを共有します

MongoDBでpidファイルが作成されないときの対処法

mongoDBをmonitでpidの監視していたが、
時々monitが暴走してmongoDBの再起動コマンドを何度も繰り返してしまうので、
原因を調べたら、pidが作成されていなかった。

・mongodb 2.4
rpmにてインストール

less /etc/init.d/mongod
----------
# processname: mongod
# config: /etc/mongod.conf
# pidfile: /var/run/mongo/mongod.pid

DBPATH=`awk -F= '/^dbpath=/{print $2}' "$CONFIGFILE"`
PIDFILE=`awk -F= '/^dbpath\s=\s/{print $2}' "$CONFIGFILE"`
mongod=${MONGOD-/usr/bin/mongod}
----------

/var/run/mongo がデフォルトだけども、 mongod.confファイルの設定から呼び出される模様。

less /etc/mongod.conf
----------
# location of pidfile
pidfilepath = /var/run/mongodb/mongod.pid
----------

/var/run/mongodb下に作られる模様。

cd /var/run/
ll
mkdir /var/run/mongodb
chown mongod:mongod /var/run/mongodb
service mongod restart

/var/run/下にmongodbフォルダがなかったので作成。
その後再起動したら無事にpidファイルが作成された。

yumでインストールしても/var/run下に pidファイルを置くためのフォルダが作られないようなので注意。