CentOS 5.5 に MongoDB をバイナリからインストールする

参考:
Quickstart Unix - MongoDB
http://www.mongodb.org/display/DOCS/Quickstart+Unix
Starting and Stopping Mongo - MongoDB
http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo


以下、一般ユーザでホームディレクトリに入れて動かす場合の手順。


64-bit Linux binaries (v2.0.2)をダウンロードして解凍する。

$ curl http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz > mongo.tgz
$ tar xzf mongo.tgz


ショートカットを作成

ln -s ./mongodb-linux-x86_64-2.0.2 ./mongodb


.bash_profileにパス追加

PATH=$PATH:~/mongodb/bin
source .bash_profile


バージョン確認

$ mongod --version
db version v2.0.2, pdfile version 4.5


デフォルトでは、/data/db にデータを格納するとのこと。
自動的にディレクトリを作成しないので自分で作る必要がある。
今回は別の場所にディレクトリを作成し、そちらを使うようにする。

$ mkdir -p ~/mongodata/db/


mongodを起動。

$ mongod --dbpath ~/mongodata/db/


mongod をバックグラウンドで動かすには、--fork をつけて起動。
その際には、--logpath の指定も必要になる。さらに --logappend もつけて追記にする。

先にログ用のディレクトリを作る。

$ mkdir -p ~/mongodata/log/


mongodを起動。

$ mongod --fork --dbpath ~/mongodata/db/ --logpath ~/mongodata/log/mongodb.log --logappend
all output going to: /home/hoge/mongodata/log/mongodb.log
forked process: 31052


起動しているかシェルから確認。

$ mongo
MongoDB shell version: 2.0.2
connecting to: test
>

test データベースにつながれば、起動は成功している。


データベースの一覧を表示。

> show dbs
local   (empty)
>


mongo シェルを終了。

> exit


プロセスを確認する。

$ ps auxww | grep mongo | grep -v grep
hoge     31052  0.0  2.7 118740 13832 ?        Sl   17:48   0:00 mongod --fork --dbpath /home/hoge/mongodata/db/ --logpath /home/hoge/mongodata/log/mongodb.log --logappend


使用しているポートを確認する。

$ netstat -antp

Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      31052/mongod
tcp        0      0 0.0.0.0:28017               0.0.0.0:*                   LISTEN      31052/mongod
...

ん、2つあるぞ。
ポート27017で接続を待って、ポート28017は管理者用のHTTPコンソールページだそう。


参考:

デフォルトのTCPポートについて
Production Notes - MongoDB
http://www.mongodb.org/display/DOCS/Production+Notes#ProductionNotes-TCPPortNumbers

  • Standalone mongod : 27017
  • mongos : 27017
  • shard server (mongod --shardsvr) : 27018
  • config server (mongod --configsvr) : 27019
  • web stats page for mongod : add 1000 to port number (28017, by default)


HTTPインターフェース - Docs-Japanese - 10gen Confluence
http://www.mongodb.org/pages/viewpage.action?pageId=7831865



mongod を終了させる。
mongo シェルから終了させる場合。

$ mongo
> use admin
> db.shutdownServer()