読者です 読者をやめる 読者になる 読者になる

IT Notebook

ITについての備忘録的なブログです

MongoDB - シャード/レプリカセット構成のスナップショットを取得して検証環境で構築する方法

AWSのEC2上にある本番環境のMongoDBのバックアップをスナップショットで取得しており、そのスナップショットからボリュームを作成して検証環境でシャード/レプリカセット構成を構築したときのメモ 環境 OS... Ubuntu14.04 MongoDB... 3.0.6 StorageEngine..…

MongoDB - シャード+レプリカセット構成でのユーザ作成について

シャード+レプリカセット構成でユーザ作成をする場合は、順番は多少前後してもよさそうだけど、まずレプリカセットでユーザを作成したあと、シャードでユーザを作成するのがよさそう 前提条件 レプリカセットは構築済み シャード構成は構築済み mongosのポ…

MongoDB - ユーザ権限(Privilege Actions)について

MongoDBのユーザを作成する時ロールを付与するだけでなく、細かくユーザ権限を指定して付与することも可能。 ユーザ権限について纏めたのでメモ Query and Write Actions ドキュメント操作についての権限 find insert remove update Database Management Act…

MongoDB - デフォルトで提供されているロール(Built-In Roles)について

MongoDBのユーザを作成する時にデフォルトでどのようなロールが付与できるか調べたのでメモ Database User Roles ユーザDB操作用ロール read ユーザDBの読み取り専用ロール readWrite ユーザDBの読み書き用ロール Database Administration Roles システムDB…

MongoDB - dbコマンドでログ出力レベルを変える方法

ログ出力レベルを変更する時に使用するコマンド MongoDBの再起動なしに反映できるので便利 環境 OS: Ubuntu14.04 MongoDB: 3.0.5 設定について verbosity levelは「0-5」 値が「-1」の場合はdefaultの設定を引き継ぐ 現在の設定の確認方法 > db.getLogCompon…

MongoDB - bashスクリプトから簡単にMongoシェルを操作する方法

bashスクリプトでmongoシェルを実行させたくていろいろ方法を模索。 javascriptファイルをリダイレクトで読み込ませるとかの方法もあるようだけど 「eval」オプションを使ってprintjson()関数の中に実行したいmongoシェルコマンドを書いてあげるのが個人的に…

MongoDB - Mongoシェルで使うことのできるdbコマンド一覧を簡単に習得する方法

Mongoシェルでできる操作を調べるたびにいろいろ検索していたのでメモ dbコマンド一覧取得方法 $ mongo > db.help() dbコマンド一覧取得結果 ※mongodb3.0.5の実行結果 DB methods: db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs comm…

MongoDB - エラー「RS102」の対処方法について

MongoDBのレプリカセットにmongorestoreのような大量のデータを流し込むとたまに出るのでメモ エラーメッセージ 2015-07-23T21:50:20.688+0900 I REPL [rsBackgroundSync] replSet error RS102 too stale to catch up 原因 レプリカセットの同期元が同期先の…

MongoDB - YAMLフォーマットの設定ファイルのサンプル

MongoDB2.6からYAMLフォーマットの設定ファイルファイルが使用できるようになったので、サンプルを作成しました。 サンプル サンプルはMongoDB3.0のものになります。 マニュアルのサンプルをつなぎ合わせて、デフォルト値を記載したのもとなります。 適宜コ…

MongoDB - データ型(BSON Type)を確認する方法

MongoDBの特定のフィールドのBSON Typeを確認したかったので調べた時のメモ 動作確認環境 OS: Ubuntu14.04 MongoDB: 3.0.4 BSON Type一覧 Type Number Notes Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 Deprecated. Object id 7 Boolean…

MongoDB - エラー「code: 13298」の対処方法について

shard構築後の動作確認をするために、insert・findした時にエラーが発生したのでメモ 環境 OS: Ubuntu14.04 MongoDB: 3.0.4 shard構成 mongos> sh.status() --- Sharding Status --- sharding version: { "_id" : 1, "minCompatibleVersion" : 5, "currentVe…

MongoDB - MongoDB Cloud Manager(旧MMS)のAPI Key取得方法

MongoDB Cloud Managerのパスワードを変更するときにAPI Keyを要求されたときのメモ API Keyの確認方法 MMS Agentの設定ファイル「/etc/mongodb-mms/monitoring-agent.config」を確認 cat /etc/mongodb-mms/monitoring-agent.config mmsApiKey=<MMS API Key> はじめはユー</mms>…

MongoDB - Mongo Shellのfindクエリの表示件数の変更方法

mongo shellから実行するfindクエリのデフォルトの表示件数は20件で変更方法のメモ 100件に変更する場合 mongo shellで接続して以下のコマンドを実行 DBQuery.shellBatchSize = 100; これは便利!

MongoDB - Ops Managerについて

Ops Managerとは MongoDB Cloud Manager(旧MMS)のオンプレ版 なぜ検証しようとしたか MongoDB Cloud Managerが有償になるのでOps Managerであればライセンス料が無償になるかなと思った MongoDB Cloud Managerが提供するバックアップ機能の検証をしたかった …

MongoDB - レプリカセットのノード追加・削除コマンド

レプリカセットのノードを追加・削除するコマンド 確認環境 カテゴリ バージョン OS Ubuntu14.04 MongoDB 3.0.2 レプリカセットのノード追加コマンド # レプリカセットのノードを追加 rs.add('<HOST>:<PORT>') # レプリカセットのノードを追加(Arbiter) rs.add('<HOST>:<PORT>', true</port></host></port></host>…

MongoDB - データベース内の全コレクションのドキュメント件数を取得する方法

MongoDBのデータベース内の全コレクションのドキュメント件数を取得するコマンド mongo > db.getCollectionNames().forEach(function(v){print(v , db.getCollection(v).count());});

MongoDB - レプリカセットのセカンダリでクエリを発行する方法

mongoシェルでレプリカセットのセカンダリでクエリ実行を許可するコマンド mongoシェルでセカンダリでのクエリ発行を有効にするときのコマンド mongo > db.getMongo().setSlaveOk(true); 以下のコマンドでもいけるらしい。(というかこっちのほうがMongo的に…