ホームページ  >  記事  >  php教程  >  Mongodbn クラスター レプリカ セット

Mongodbn クラスター レプリカ セット

WBOY
WBOYオリジナル
2016-10-10 11:39:301152ブラウズ

私は初心者で、自分のニーズに基づいて注文しただけです。また、mognodb クラスターに取り組むのはこれが初めてです。親愛なる神々よ、どうか文句を言わないでください。書き方が少し面倒なので、まず見てみましょう
1. mongodb.conf ファイルを作成して設定します。 vi /etc/mongodb.conf (以下の内容を入力)

fork=true #デーモンプロセスとして実行し、サーバープロセスを作成します
logpath=/alidata/webroot/logs/work.log #ログ出力ファイルパス
logappend=true #ログ出力方法
dbpath=/data/db #データベースパス
replSet=firstdb #リッチセットの名前を設定します

次に、mongodb の bin ディレクトリに移動し、次のコマンドを実行します:
注: まず mongod プロセスを強制終了してから、次のコマンドを使用します
./mongod -f /etc/mongodb.conf (start) 注: etc/rc.lcoal もこの mongod -f /etc/mongodb.conf に変更する必要があります

bin ディレクトリに入り、./mongo を実行してから dbs を表示すると、問題が発生します: liasdatabase

この問題が発生する場合、それは初期化が原因です:
まず、mongodb をシャットダウンするコマンドを試してください:
./mongod --dbpath=/alidata/approot/mongodb/mongodb-linux-x86_64-3.2.7/data/db/ --shutdown

これらの構成を構成ファイルに追加します:

日記=本当
oplogサイズ = 4096
次に、mongodb の bin ディレクトリで ./mongod -f /etc/mongodb.conf
を実行します。 起動が成功したかどうかを確認します: 起動が成功した場合は、mongodb の bin ディレクトリに入ります
コマンドを実行: ./mongo
次に: rs.initiate(
{
_id: "rs0",
バージョン: 1、
メンバー: [
{ _id: 0、ホスト: "ip:27017"、優先度: 30}、
{ _id: 1、ホスト: "ip:27017"、優先度: 20 },
{ _id: 2、ホスト: "ip:27017"、優先度: 10 }

}
)

次に、コマンド rs.ststus() を使用して確認します
{
"info" : "セットがまだ完了していない場合は、rs.initiate(...) を実行します",
「わかりました」 : 0,
"errmsg" : "replset config を受信して​​いません",
「コード」:94
}
このように表示された場合は、他の 2 つのデバイスがデータを書き込んだことを意味します:
2 つのスレーブを停止します: データをクリアするか、フォルダーを変更します
mv db db.bak
mkdir データベース
chmod -R 777db
それではスタート
上記のコマンドを再度実行します: rs.initiate(
{
_id: "rs0",
バージョン: 1、
メンバー: [
{ _id: 0、ホスト: "ip:27017"、優先度: 30}、
{ _id: 1、ホスト: "ip:27017"、優先度: 20 },
{ _id: 2、ホスト: "ip:27017"、優先度: 10 }

}
)
次に、コマンド rs.status() を使用します
次に、スレーブノードに移動してログを確認します
次に、コマンド「top」を使用して負荷を確認します
次に、スレーブ ノードの同期プロセスを確認します。プロセスを表示するには、ログ ディレクトリに入って次のコマンドを実行する必要があります
コマンドを使用します: tail -f work.log
次に、マスターノードに移動し、次のコマンドを使用します: use test
次に、コマンド find image_weibo.files.find() を使用します
データがある場合は、mongo ノードからコマンドを実行します:
rs.slaveOk()
両方のスレーブ ノードで次のコマンドを実行する必要があります:
次に use test コマンドを使用します
次に、コマンド db.image_weibo.files.find() を使用して、データがあるかどうかを確認します。データがあれば、同期は成功しています。 次に、マスター ノードにデータを挿入してテストします。
db.image_weibo.insert({タイトル: 'MongoDB チュートリアル',
説明: 'MongoDB は Nosql データベースです',
投稿者: 'xx11'、
URL: 'http://www.baidu.com'、
タグ: ['mongodb'、'データベース'、'NoSQL']、
いいね: 100
})


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。