Heim  >  Artikel  >  php教程  >  Mongodbn-Cluster-Replikatsatz

Mongodbn-Cluster-Replikatsatz

WBOY
WBOYOriginal
2016-10-10 11:39:301148Durchsuche

Ich bin ein Neuling und habe es einfach aufgrund meiner eigenen Bedürfnisse bestellt. Dies ist auch das erste Mal, dass ich an einem Mognodb-Cluster arbeite. Liebe Götter, bitte beschwert euch nicht. Das Schreiben ist etwas chaotisch, schauen wir es uns zuerst an
1 Erstellen und konfigurieren Sie die Datei mongodb.conf:
vi /etc/mongodb.conf (Geben Sie den folgenden Inhalt ein)

fork=true #Als Daemon-Prozess ausführen und einen Serverprozess erstellen
logpath=/alidata/webroot/logs/work.log #Pfad der Protokollausgabedatei
logappend=true #Log-Ausgabemethode
dbpath=/data/db #Datenbankpfad
replSet=firstdb #Legen Sie den Namen des Rich Set
fest
Gehen Sie dann in das bin-Verzeichnis von mongodb und führen Sie den folgenden Befehl aus:
Hinweis: Beenden Sie zuerst den Mongod-Prozess und verwenden Sie dann den folgenden Befehl
./mongod -f /etc/mongodb.conf (Start) Hinweis: etc/rc.lcoal muss auch in dieses mongod -f /etc/mongodb.conf
geändert werden
Wenn Sie das bin-Verzeichnis aufrufen und ./mongo ausführen und dann dbs anzeigen, tritt ein Problem auf: liasdatabase

Wenn dieses Problem auftritt, liegt es an der Initialisierung:
Versuchen Sie zunächst den Befehl zum Herunterfahren von Mongodb:
./mongod --dbpath=/alidata/approot/mongodb/mongodb-linux-x86_64-3.2.7/data/db/ --shutdown

Fügen Sie diese Konfigurationen zur Konfigurationsdatei hinzu:

Journal = true
oplogSize = 4096
Führen Sie dann im Bin-Verzeichnis von Mongodb Folgendes aus: ./mongod -f /etc/mongodb.conf
Überprüfen Sie, ob der Start erfolgreich ist: Wenn der Start erfolgreich ist, geben Sie das bin-Verzeichnis von mongodb
ein Befehl ausführen: ./mongo
Dann: rs.initiate(
{
_id: „rs0“,
Version: 1,
Mitglieder: [
{ _id: 0, Host: "ip:27017", Priorität: 30},
{ _id: 1, Host: "ip:27017", Priorität: 20 },
{ _id: 2, Host: „ip:27017“, Priorität: 10 }
]
}
)

Verwenden Sie dann den Befehl: rs.ststus(), um
zu überprüfen {
„info“: „rs.initiate(...) ausführen, falls noch nicht für den Satz erledigt“,
"ok" : 0,
„errmsg“: „Es wurde keine Replset-Konfiguration empfangen“,
„Code“: 94
}
Wenn es so angezeigt wird, haben die anderen beiden Daten geschrieben:
Stoppen Sie die beiden Slaves: Löschen Sie die Daten oder ändern Sie den Ordner
mv db db.bak
mkdir db
chmod -R 777 db
Dann starten Sie
Führen Sie den obigen Befehl erneut aus: rs.initiate(
{
_id: „rs0“,
Version: 1,
Mitglieder: [
{ _id: 0, Host: "ip:27017", Priorität: 30},
{ _id: 1, Host: "ip:27017", Priorität: 20 },
{ _id: 2, Host: „ip:27017“, Priorität: 10 }
]
}
)
Dann verwenden Sie den Befehl: rs.status()
Überprüfen Sie dann die Protokolle des Slave-Knotens
Verwenden Sie dann den Befehl: top, um die Auslastung zu überprüfen
Überprüfen Sie dann den Synchronisierungsprozess auf dem Slave-Knoten: Sie müssen das Protokollverzeichnis aufrufen, um den folgenden Befehl auszuführen und den Prozess anzuzeigen
Verwenden Sie den Befehl: tail -f work.log
Gehen Sie dann zum Masterknoten und verwenden Sie den Befehl: use test
Dann verwenden Sie den Befehl: find image_weibo.files.find()
Wenn Daten vorhanden sind, führen Sie den Befehl vom Mongo-Knoten aus:
rs.slaveOk()
Beide Slave-Knoten müssen diesen Befehl ausführen:
Verwenden Sie dann den Befehl use test
Verwenden Sie dann den Befehl db.image_weibo.files.find(), um zu überprüfen, ob Daten vorhanden sind. Wenn Daten vorhanden sind, ist die Synchronisierung erfolgreich.
Fügen Sie dann den Datentest auf dem Hauptknoten ein:
db.image_weibo.insert({title: 'MongoDB Tutorial',
Beschreibung: 'MongoDB ist eine Nosql-Datenbank',
von: 'xx11',
URL: 'http://www.baidu.com',
Tags: ['mongodb', 'database', 'NoSQL'],
Gefällt mir: 100
})

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn