3月 2018年

MongoDB の oplog ファイルサイズ を変更する 方法

今回は「MongoDB の oplog ファイルサイズ を変更する 方法」についてまとめます。 目次 概要 変更手順 現在のサイズを確認 oplogサイズ変更 データ再同期 概要 oplogファイルサイズの変更は replSetResizeOplog コマンドで変更できます。 基本的には現状確認、検討、変更、データ再同期の手順です。 実施する際はセカンダリサーバーから実施するようにします。 データ再同期はサイズ縮小する場合だけですが、サーバー停止を伴うので実施には要注意です。 それでは以下で詳しい手順を見ていきます。 変更手順 現在のサイズを確認 現在の設定を確認してど ...

MongoDB の レプリカセット へ Node.jsドライバー を使って アクセスする 方法

今回は「MongoDB の レプリカセットにNode.jsドライバを使ってアクセスする方法」についてまとめます。 目次 接続する 接続文字列 読み込み設定 書き込み設定 読み書きする 接続する MongoDBのレプリカセットも接続さえできてしまえばほぼ終わりです。 ここではその基本となる接続文字列、読み込み設定、書き込み設定についてまとめます。 Node.jsドライバーでMongoDBへ接続する場合、 MongoClient.connect() を利用するので、その引数にどのような値を与えるとよいか、が要です。 接続文字列 (url) ここでは MongoClient.conne ...

MongoDB の レプリカセット へ mongoシェル を使って アクセスする 方法

今回は「MongoDB の レプリカセットにmongoシェルを使ってアクセスする方法」についてまとめます。 目次 接続する サーバーを指定して接続する プライマリサーバーを探す ユーザー名とパスワードを指定して接続する アクセス制御が有効化されている場合に必要な権限 読み書きする プライマリサーバーで読み書き セカンダリサーバーで読取 接続する 何はともあれサーバーへの接続から見ていきます。 サーバーを指定して接続する もっとも単純な接続は接続先サーバーを指定した接続で、サ ...

MongoDB の レプリカセット で アクセス制御(ユーザー認証)を 有効化する 方法

今回は「MongoDB のレプリカセットに対してアクセス制御(ユーザー認証)を有効化する方法」についてまとめます。 目次 概要 キーファイルを用いたアクセス制御 管理ユーザーの追加 MongoDBの設定変更(アクセス制御有効化) 通常ユーザーの追加 ユーザー名とパスワードを指定してデータベースへ接続 概要 レプリカセットに対するアクセス制御を有効化するためには内部認証(レプリカセットメンバー間の認証)を有効化する必要があります。 内部認証の方法は以下の2通りがあります。 キーファイル (チャレンジレスポンス認証、SCRAM-SHA-1) x.509(公開鍵 ...

MongoDB の 既存レプリカセット から メンバー を削除する 方法

今回は「MongoDBの既存レプリカセットからメンバーを削除する方法」についてまとめます。 test 目次 前提・制約 レプリカセットからメンバーを削除する手順 前提・制約 MongoDBのレプリカセットにおけるそもそもの制約も含めて削除しようとしている既存MongoDBサーバーが以下の前提や制約を満たしていることを確認しておきます。 有効なレプリカセットが存在する 追加するときと違い、削除するときはあまり制約がありません。 レプリカセットからメンバーを削除する手順 MongoDBを終了 mongoシェルで削除したいサーバーへ接続し、以下のコマンドでMongoDBを終了します。 SECONDARY> db.shutdownServer() ...

MongoDB の 既存レプリカセット に メンバー を追加する 方法

今回は「MongoDBの既存レプリカセットに新しいメンバーを追加する方法」についてまとめます。 目次 前提・制約 レプリカセットへの追加手順 前提・制約 MongoDBのレプリカセットにおけるそもそもの制約も含めて追加しようとしている新しいMongoDBサーバーが以下の前提や制約を満たしていることを確認しておきます。 有効なレプリカセットが既に存在している 追加したい新しいMongoDBは有効なレプリカセットにアクセス可能な状態 追加するメンバーを含めて投票権は7台以下になっている 追加するメンバー含めてレプリカセット全体が50台以下になっている レプリカセットへの追加手順 レプリカセットに追加 MongoDBを起動 mongod --config ...

MongoDB の レプリカセットメンバー設定 の 初期化 および 変更する

今回は「MongoDB の レプリカセットメンバー設定」について 「設定を初期化/変更する方法」 と 「変更できる内容」 まとめます。 目次 レプリカセット設定を初期化する レプリカセット設定を変更する 主なレプリカセット設定例 プライマリにならないようにする 隠しメンバーにする 遅延メンバーにする 投票権のないメンバーにする アービターにする レプリカセット設定を初期化する レプリカセット構築時に行う初期化処理は mongo シェルで任意のメンバーに接続したのち、 rs.initiate() で初期化を行います。 任 ...