ユーザ用ツール

サイト用ツール


mongodb:cluster

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
mongodb:cluster [2013/02/08 08:14] nullponmongodb:cluster [2015/03/16 09:08] (現在) – [トラブルシューティング] nullpon
行 1: 行 1:
-====== mongoDBのクラスタ ======+====== mongoDB cluster ======
  
 mongoDBはレプリカセットとシャーディング機能をサポートしている。レプリカセットはDBの複製を作成し、自動フェイルオーバーによってサーバが落ちたとき接続先をレプリケーションサーバに切り替えることで可用性を確保できる機能。シャーディングはコレクションを分割して複数のDBに分散して保存することで同時読み込み、書き込み機能を向上させてスケールアウトする機能。 mongoDBはレプリカセットとシャーディング機能をサポートしている。レプリカセットはDBの複製を作成し、自動フェイルオーバーによってサーバが落ちたとき接続先をレプリケーションサーバに切り替えることで可用性を確保できる機能。シャーディングはコレクションを分割して複数のDBに分散して保存することで同時読み込み、書き込み機能を向上させてスケールアウトする機能。
行 85: 行 85:
 fork = true fork = true
 configdb = 127.0.0.1:27020 configdb = 127.0.0.1:27020
 +# configdb = "127.0.0.1:27020"   mongoDB 2.2ではダブルクオートで囲むとエラーになるので注意
 </code> </code>
  
行 91: 行 92:
 <code> <code>
 $ mongos --config=/etc/mongos.conf $ mongos --config=/etc/mongos.conf
-</code> 
- 
-mongoDB 2.2では、configで以下のようにダブルクオートで囲むとエラーになるので注意 
- 
-<code> 
-configdb = "127.0.0.1:27020" 
 </code> </code>
  
行 102: 行 97:
 各プロセス起動後、クラスタの設定を行う。 各プロセス起動後、クラスタの設定を行う。
  
-mongosに接続して+mongosでadmin dbに接続して
 <code> <code>
-$ mongo +$ mongo admin
 </code> </code>
  
 mongodをシャードサーバとしてクラスタに追加する mongodをシャードサーバとしてクラスタに追加する
 <code> <code>
-mongos> use admin; 
 mongos> db.runCommand({addshard:"127.0.0.1:27001", name:"ShardHogeDB01" , allowLocal:true}); mongos> db.runCommand({addshard:"127.0.0.1:27001", name:"ShardHogeDB01" , allowLocal:true});
 mongos> db.runCommand({addshard:"127.0.0.1:27002", name:"ShardHogeDB02" , allowLocal:true}); mongos> db.runCommand({addshard:"127.0.0.1:27002", name:"ShardHogeDB02" , allowLocal:true});
行 123: 行 117:
 <code> <code>
 mongos> db.runCommand({shardcollection:"hogeDB.fugaCollection", key:{ _id :1 }}); mongos> db.runCommand({shardcollection:"hogeDB.fugaCollection", key:{ _id :1 }});
 +</code>
 +
 +シャーディングの設定は以下のコマンドで表示できるが、正直読みにくい
 +<code>
 +mongos> db.printShardingStatus(); 
 +</code>
 +
 +==== トラブルシューティング ====
 +<code>
 +"error creating initial database config information :: caused by :: can't find a shard to put new db on",
 +</code>
 +mongodがクラスタに1つも存在していない。1つ以上のmongodをクラスタに追加する
 +
 +==== flushRouterConfig ====
 +
 +mongosにキャッシュされているクラスタ情報をクリアします
 +
 +<code>
 +db.adminCommand("flushRouterConfig")
 </code> </code>
mongodb/cluster.1360311240.txt.gz · 最終更新: 2013/02/08 08:14 by nullpon