MongoDB を CentOS に インストールする 方法

0 件のコメント

今回は「MongoDB を CentOS にインストールする方法」についてまとめます。

動作環境

今回は Linux も CentOS へ MongoDB をインストールする方法についてまとめます。 対象とする環境は以下のような環境です。

  • CentOS 7

MongoDBをインストールする際に関係するフォルダやファイルは以下のような構成になっています。

/usr/bin
  ├mongo
  ├mongod
  ├mongos
    ...
/etc
  └mongod.conf
/var/lib/mongo
  ├ジャーナル、データファイルなど
    ...
/var/log/mongodb
  └mongod.log

インストール

yum を使ってインストールします。

  1. リポジトリを追加

    $ sudo vi /etc/yum.repo.d/mongodb-enterprise.repo
    

    mongodb-enterprise.repo

    [mongodb-enterprise]
    name=MongoDB Enterprise Repository
    baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.6/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
    
  2. MongoDB をインストール

    $ sudo yum install -y mongodb-enterprise
    
  3. 再起動

    $ shutdown -r now
    

初期設定

Windowsと違い、基本的にはデフォルトのままで問題ない設定になっています。 以下では一部設定を変更する場合を想定して、その修正方法を取り上げます。

データ保存ディレクトリ

MongoDB はデフォルトだと /data/db にデータを保存します。 yum でインストールした場合、設定ファイル( mongod.conf )が生成され、/var/lib/mongo へ保存されるよう設定されてるので、そもそもインストール完了時点でMongoDBのデフォルトとは異なる場所へデータが保存される設定になっています。

もしまったく異なる場所にデータを保存したいのであれば、該当フォルダを作成、権限変更をしたのち、設定ファイルを修正します。 フォルダ作成は以下のコマンドで実行します。 設定ファイルの修正は以下のように sorage.dbPath を設定します。

  1. フォルダ作成

    $ mkdir -p /usr/local/mongo/server/data
    $ chown -R mongod /usr/local/mongo 
    $ chgrp -R mondog /usr/local/mongo 
    
  2. 設定修正

    /etc/mongod.conf

    storage:
      dbPath: /usr/local/mongo/server/data
    
  3. 再起動

    $ shutdown -r now
    

ポート開放

デフォルトだと MongoDB インスタンスへ外部からアクセスできないので、ポート開放してアクセスできるようにします。 MongoDB はデフォルトでだれでもアクセス可能な仕組みとなっているので、外部からアクセスできるようにする場合はあわせて MongoDB 自体のアクセス制御 も検討してください。

$ firewall-cmd --zone=public --add-port=27017/tcp --permanent

設定ファイル (mongod.conf)

yum でインストールした場合、デフォルトでは /etc/mongod.conf が作成されます。 このファイルへ必要な設定を追記することで設定変更が行えます。

デフォルトからあまり変更することもないですが…、ログ(systemLog)、データ保存先(storage)、ネットワーク(net) あたりを見直しておきます。

/etc/mongod.conf

systemLog:
  destination: file
  logAppend: true
  logRotate: "rename"
  path: /var/log/mongodb/mongod.log
storage:
  dbPath: /var/lib/mongo/
net:
  port: 27017
  bindIp: 127.0.0.1
  bindIpAll: true

自動起動設定

yum でインストールした場合、デフォルトでは自動起動が有効化されています。 インストール後に再起動すれば自動で mongod が立ち上がっていると思います。

CentOS 7 で mongod サービスの設定確認、有効化、無効化は以下のコマンドで実行できます。 CentOS 7 は CentOS 6 からサービスの実行方法が変わったようで、コマンドも少し変わっているようです。

自動起動の確認

$ /usr/bin/systemctrl is-enabled mongod

自動起動の有効化

$ /usr/bin/systemctrl enable mongod

自動起動の無効化

$ /usr/bin/systemctrl disable mongod

動作確認

MongoDBの起動 (mongod)

基本的には起動時に自動実行されているので起動済みのハズですが、コマンド実行して起動する場合は以下のコマンドで起動します。

$ sudo service mongod start

MongoDBへ接続 (mongo)

MongoDB サーバー (mongod) が起動していれば mongo シェルで接続できます。 以下のコマンドで MongoDB へ接続、切断してみます。

接続

$ mongo

切断

MongoDB Enterprise > exit

MongoDBの終了 (mongod)

意図的にサービス終了する場合、以下のコマンドで終了できます。

$ sudo service mongod stop

今回は「MongoDB を CentOS にインストールする方法」についてまとめました。 参考になったでしょうか? 本記事がお役に立っていると嬉しいです!!

最後に… このブログに興味を持っていただけた方は、 ぜひ 「Facebookページ に いいね!」または 「Twitter の フォロー」 お願いします!!