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
})