2014-01-05 7 views
6

mongoのコレクションにテキストインデックスを作成したいと思います。私はMaxOSX 10.9.1上で動作私は開いているファイルが多すぎます。インデックスのmongoを確保します

db.test1.ensureIndex({'text':'text'}) 

を書いて、それから私はのmongodプロセスで

Sun Jan 5 10:08:47.289 [conn1] build index library.test1 { _fts: "text", _ftsx: 1 } 
Sun Jan 5 10:09:00.220 [conn1]   Index: (1/3) External Sort Progress: 200/980 20% 
Sun Jan 5 10:09:13.603 [conn1]   Index: (1/3) External Sort Progress: 400/980 40% 
Sun Jan 5 10:09:26.745 [conn1]   Index: (1/3) External Sort Progress: 600/980 61% 
Sun Jan 5 10:09:37.809 [conn1]   Index: (1/3) External Sort Progress: 800/980 81% 
Sun Jan 5 10:09:49.344 [conn1]  external sort used : 5547 files in 62 secs 
Sun Jan 5 10:09:49.346 [conn1] Assertion: 16392:FileIterator can't open file: data/_tmp/esort.1388912927.0//file.233errno:24 Too many open files 

を見ました。 助けてください。

答えて

7

私は同じ問題(実行を持っていましたそれでもまだ "オープンファイルが多すぎます"というエラー)、leseによれば、mongodを実行しているマシンのmaxfilesの限界に達しているようです。私は問題を回避するためにやった

<limit name> <soft limit> <hard limit> 
    cpu   unlimited  unlimited  
    filesize unlimited  unlimited  
    data  unlimited  unlimited  
    stack  8388608  67104768  
    core  0    unlimited  
    rss   unlimited  unlimited  
    memlock  unlimited  unlimited  
    maxproc  709   1064   
    maxfiles 1024   2048 

が一時的に制限高く設定することでした(:

sudo launchctl limit 

これはあなたを与える:Mac上で

は、持つ限界をチェックすることをお勧めします私のものはもともとソフトのようなものでした:256、hard:1000、それとも奇妙なものです):

Thクエリ/索引付け操作を再実行し、壊れていないかどうかを確認します。そうでない場合、上限を維持するには(設定したシェルセッションからログアウトするとリセットされます)、次の行を含む '/etc/launchd.conf'ファイルを作成します。

limit maxfiles 1024 2048 

(または、既存のlaunchd.confファイルがある場合は、その行を追加します)。

ログイン時にすべてのシェルでlaunchfileを使ってmaxfileを設定します。

3

端末

で次のコマンドを発行してシステム構成を確認してthis

試みに関連している可能性のulimit -a

4

復元コマンドの前に一時的にulimit -n 4096を追加しました。 mongorestore --numParallelCollections=1 ...もご利用いただけます。 しかし、まだ接続プールが使い果たされているようです。

+2

'はsudo launchctlを限度は512 1024'をMAXFILES少なくともzshの ' update_terminalapp_cwdで、私のシステムがクラッシュする原因となる:4:パイプに失敗しました:システムであまりにも多くの開いているファイルを のzsh:パイプに失敗しました:システムであまりにも多くの開いているファイルを sudo launchctl limit maxfiles 512 update_terminalapp_cwd:4:pipe failed:システム内に開いているファイルが多すぎます zsh:pipe failed:システムにオープンファイルが多すぎます – dcsan

関連する問題