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

2015年5月4日月曜日

RailsのMongoidでMongodbがtimeoutする

Mongodbはデフォルトで10分でカーソルがタイムアウトしてしまう
バッチ処理などの長時間の処理が途中で止まってしまう。

次のように書くと途中で止まってしまう。

Product.each{|product|
    # 何かの長時間かかる処理
}

10分を越える可能性のある処理は次のようにしましょう

Product.no_timeout.each{|product|
    # 何かの長時間かかる処理
}

2014年9月21日日曜日

Mongodbへのリモートアクセス

最初にユーザーを作る
Mongodbはデフォルトでユーザーはいないので認証をONにする前に作っておく
ユーザーはDBに所属するので、使用したいDBに切り替えてから作る
use mydb
db.addUser('sato','password')
/etc/mongodb.confの以下の行をコメント解除
auth=true

以下の行をコメントにする
#bind_ip = 0.0.0.0

mongodの再起動
service mongod restart

IPTABLESを設定
iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
iptables -A INPUT -p tcp --sport 27017 -j ACCEPT

IPTABLESの設定を保存
/etc/init.d/iptables save

再起動
service iptables restart


接続
mongo [host_IP]/ -u sato -p password