2012/11/05

mongodbの設定 - mongodb.conf

mongodbの設定は、mongodb.confで行います。
aptを使用して、

  $ sudo apt-get install mongodb-10gen
でmongodbをインストールすると、
/etc/mongodb.conf
が作成され、また、インストール時に作成される起動スクリプト
/etc/init.d/mongodb
は、このmongodb.confを参照しています。
ここでは、mongodb.confでの設定項目を纏めます。


ここからは、 Configuration File Options の内容を訳しつつ、まとめてみます。

Settings

verbose

Default: false
標準出力やlogpathのログファイルに出力する内部レポートの出力量を調節する。

v

Default: false
verboseの代替形式。

vv
Default: false
出力やログの情報をさらに増やす。
vvv
Default: false
出力やログの情報をさらに増やす。
vvvv
Default: false
出力やログの情報をさらに増やす。
vvvvv
Default: false
出力やログの情報をさらに増やす。
quiet

Default: false
出力を制限したquiteモードで、mongodまたはmongosインスタンスを実行する。
このオプションは、

  • drop、dropIndex,diagLogging,validate、cleanのデータベースコマンドの出力
  • レプリケーションの活動
  • コネクションの受け入れ完了イベント
  • コネクション切断イベント
を抑止する。

port

Default: 27017
mongodとmongosインスタンスが待ち受けるTCPポート番号を指定する。 Unix-likeなシステムでは、1000より小さいポートへのアクセスは、root権限が必要。

bind_ip

Default: 全インタフェース
アプリケーションが接続するmongodやmongosインスタンスがバインドするアドレスを設定する。
どのインタフェースを指定しても構わないが、パブリックなアクセスが可能なインタフェースを指定する場合は、 然るべき認証を実装するか、ファイアウォールによる制限でデータベースとの連携を保護すべき。

mongodにバインドするIPアドレスは、カンマ区切りで複数指定することもできる。

maxConns

Default: システムの制限(ulimitやFD)に依存。このオプションを設定しない限りMongoDBは制限しない。
mongod、mongosが受け付ける同時接続数を指定する。この設定値がOSで設定している最大接続数を超える場合は、無効になる。

このオプションは、コネクション切断ではなくタイムアウトするような複数のコレクションを生成するようなクライアントを相手とする場合に特に有効。maxConnsを設定した場合、誤接続がシャードクラスターの各要素に伝播しないよう、コネクションプールのサイズ、または総コネクション数よりも若干大きくなるようにする。

objcheck

Default: false
不正なBSONデータセットがデータベースに追加されないよう全てのクライアントからのリクエストを検証する場合にtrueを設定。mongodはリクエストのオーバーヘッドの観点から、この機能をデフォルト無効としている。

logpath

Default: None(i.e /dev/stdout)
全てのログ情報を記録するファイル名へのパスを指定する。

未指定の場合、mongodはログを標準出力に出力する。logappendがtrueでない場合、プロセスが再起動されるたびに、ログファイルを上書きする。

logappend
syslog
pidfilepath
keyFile
nounixsocket
unixSocketPrefix
fork
auth
cpu
dbpath
diaglog
directoryperdb
journal
journalCommitInterval
ipv6
jsonp
noauth
nohttpinterface
nojournal
noprealloc
noscripting
notablescan
nssize
profile
quota
quotaFiles
rest
repair
repairpath
slowms
smallfiles
syncdelay
sysinfo
upgrade
traceExceptions

Replication Options

replSet
oplogSize
fastsync
replIndexPrefetch

Master/Slave Replication

master
slave
source
only
slavedelay
autoresync

Sharding Cluster Options

configsvr
shardsvr
noMovePranoia
configdb
test
chunkSize
localThreshold