6.3. MongoDB

MongoDBはスケーラビリティに優れたドキュメントベースのデーバベースシステムです。 ICE BackendではEdgeから受け取ったメッセージをMongoDBに格納しています。 また、WebベースのMongoDBの管理コンソールであるMongo-Expressを同梱しています。

6.3.1. サービス

6.3.1.1. MongoDB

  • サービス開始(CentOSの場合)
$ service mongod start
  • サービス停止(CentOSの場合)
$ service mongod stop

6.3.1.2. Mongo-Express

  • サービス開始(CentOSの場合)
$ service ice-mongo-express start
  • サービス停止(CentOSの場合)
$ service ice-mongo-express stop

6.3.2. 管理コンソール

管理画面を表示するには以下のURLにアクセスします。

http://<ホスト名>/mongo-express/

ログイン画面では以下を入力してください。

Usernam e ad mi n
Passwor d pa ss

6.3.3. 設定ファイル

/opt/nec/pf/ice/config/mongod.conf               MongoDBの設定ファイル
/opt/nec/pf/ice/config/mongo-express.config.js   Mongo-Expressの設定ファイル

6.3.4. 使用ポート

MongoDBおよびMongo-Expressでは以下のポートを使用します。

ポート番号 | 用途
22403 MongoDB
22405 Mongo-Expre ss

6.3.5. その他チューニング

6.3.5.1. スレッド数制限の緩和

MongoDBではパフォーマンスを確保するために必要なリソースとしてスレッド数を少なくとも32,000必要とします。 しかし、一部のLinuxディストリビューションでは一般ユーザが使用できるスレッド数が制限されています。 この制限されたスレッド数が極端に少ない場合、mongodbは起動時に以下のメッセージをログファイルに出力します。

20XX-XX-XXTXX:XX:XX.XXX-XXXX I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

ICEでは、このようなMongoDBのパフォーマンス問題を回避するために、 MongoDB用にスレッド数の制限を既定で32,000に設定します。

この値を変更する場合は、以下のいずれかの手順を実施してください。

  • インストール前の場合

    ansible playbookのconf-default.ymlを開き、 ice.mongo.limit.nproc の値を変更します。

  • インストール後の場合

    /etc/security/limits.confを開き、次の行の 32000 の値を変更します。

mongod           soft    nproc           32000
mongod           hard    nproc           32000

ファイルを保存したら、mongodユーザに切り替えてulimitを再読込します。

$ sudo su mongod
$ ulimit -n

6.3.6. 公式サイト

MongoDBに関するその他の情報は公式サイト( https://www.mongodb.com/ )をご参照ください。 また、Mongo-Expressに関する情報は公式サイト( https://github.com/mongo-express/mongo-express )をご参照ください。