Pages

ラベル mongodb の投稿を表示しています。 すべての投稿を表示
ラベル mongodb の投稿を表示しています。 すべての投稿を表示

2011/08/30

mongoDBのRESTインターフェイスをJSONPで使う

mongodbにrestオプションをつけるとWEBインターフェイスからjsonで色々情報が取れる。

JSONPならほぼjsだけのShaed環境向けViewerが作りやすいのにと思ったらひそかに対応していた。
 


"mongod -h" には出てくるんだが、公式の「Command Line Parameters」には載っていない、なんでかね?

--jsonp allow JSONP access via http (has security implications)



mongodの起動時に --jsonp を渡すか、コンフィグにて下記オプションを追加すると

jsonp = true


クエリにpadding用文字列をつけて "?jsonp=hogehgoe" などとリクエストすれば、hogehoge() の関数として返してくれる。
 

2011/07/28

syslog-ngでsyslogをmongodbに直行させる

少々前に似たような記事、logger代わりにmongoimportを上げた。

が、syslogデーモンにsyslog-ngを使った場合、出力先を指定プログラムのSTDINにできるので直接mongodbに突っ込めるのだった。
 

2011/07/11

2011/07/01

mongodb、config serverをjournalする

気づいたらmongodbに従来の周期的なDisk書き出しに加えてjournalという方式がついていた。
 

journalについては @doryokujin さんの解説が詳しいのでそちらへ

>> MongoDBの新機能:ジャーナリングについて詳しく


2011/06/17

mongodbのlogorotate対応

mongodb-10genのリポジトリからインストールしたmongodbをloglotateに対応させるメモ。
 

2011/05/11

Mongodb ShardのためにUpstart起動スクリプト

Ubuntu向け。

10-genのリポジトリからmongodb(mongodb-10gen)を入れた場合、普通のMongoDB起動スクリプトがはいります。

Shardingするなら必須のConfig, Router用は別途必要なのでUpstart用に作成した。

init.dのことは忘れなさい。
 

2011/05/10

mongodbのpidfile

公式のCommand Line ParametersFile Based Configuration どちらにも載ってないがpidファイルは指定できる。
 

2011/05/03

Nginxのログをmongodbに入れるために

mongoimportが便利でmongodbが柔軟なので、ログを入れたくなる。
取り急ぎWebのログでもいれちゃうか、というお話。
 

HTTPサーバのアクセスログはそれなりの解析ツールもあるんだが、あえてMongoDBに突っ込んでみよう。

2011/04/30

素で運用中のMongodbをShardにするステップ

とり急ぎで作ったmongodb、分散も冗長もしてないがこの先どうする?
と思いきや実は結構簡単に拡張できる。
 

単体からShardにする場合のステップをまとめてみた。
 

2011/04/11

mongodbのrepair時、パーミッションに注意

壊れたmongodbを修復するにはオプション、"--repair" をつけてmongodコマンドを実行します。

mongod --dbpath=/var/lib/mongodb --repair


これで修復したmongodbが起動しない時はパーミッションが変更されているせいかも。


DBの実ファイルのパーミッションがrepairを実行したユーザになります。
rootでrepairしちゃうと、DBのファイルがroot所有になってしまうということですね。


ログを確認したら"Permission denied" が出ていたのでパーミッションを修正しました。
chown -R mongodb:nogroup /var/lib/mongodb/



環境はUbuntu10.10、MongoDB1.8.1 でした。
 

どうやったらMongodbが要修復になるかっていうと、例えば無限ループをdiskfullになるまで突っ込んでみるとか。。
 

2011/04/07

MongoDBの1.8.1 が出たようなので更新する

バグフィックスらしいね。

パッケージインストールにしていたので隙はなかった。

# aptitude update
# aptitude upgrade mongodb-10gen



SECONDARY(全部) > PRIMARY の順にやろう。


# mongo
MongoDB shell version: 1.8.1
connecting to: test
mondev:PRIMARY>

2011/03/18

mongoDBを1.6.xから 1.8.0にアップグレードする

monogoDB1.8の正式版がリリースされた。
開発環境にはubuntu10.10Serverにパッケージで入れている1.6.5が動いている。


公式ドキュメントUpgrading to 1.8.0を見ると、バイナリ上書きでOK! みたいなことがあるのでUpgradeしてみた。

気になるレプリカセット構成も順繰りでUpgrade可能だった。
 

2011/03/16

MongoDBのレプリカセットで、Slave(Secondary)からもget (Readの負荷分散)

MongoDBの負荷分散ではReadのためのReplicaSet、WriteのためのShardと2つの方式を取ることができます。

ReplicaSetは冗長化・ミラーリング、Shardingはストライピング風の役割で、スケールアップするためにはRaid10を構成するように拡張していくことになります。
 

2011/03/03

mongodbでRESTをON(confファイル)

mongodbを立ち上げるとついてくるWebUI、初期値ではRESTがOFF。
オプション "--rest" を付けて立ち上げるように促される。


なぜかアンドキュメンテッドなんだが、

設定ファイル(/etc/mongodb.confなど)に
rest = true


としても有効になるのだ。