Zoeken…
Opmerkingen
Voor degenen die niet bekend zijn, wordt een replicaset gedefinieerd als een redundante configuratie van drie servers. Een Sharded-database wordt gedefinieerd als een horizontaal geschaalde database, waarbij elke Shard wordt gedefinieerd als een replicaset. Daarom omvat een shardende Mongo-cluster minimaal 11 servers voor een 2 shard-cluster en neemt deze toe met drie servers voor elke extra shard. Een shended-cluster heeft dus altijd 11, 14, 17, 20, 23, enz. Serverinstanties. Dat wil zeggen, er zijn 2 scherven van elk 3 servers, 3 meer configuratiecontrollers en 2 routers. 11 servers in totaal voor een 2 shard-cluster.
Replica Snelstart instellen
Bouw zelf drie servers met welke fysieke of virtuele hardware u ook wenst. (In deze zelfstudie wordt ervan uitgegaan dat u Ubuntu als besturingssysteem gebruikt.) Herhaal vervolgens de volgende instructies drie keer ... eenmaal voor elke server.
# add the names of each server to the host file of each server
sudo nano /etc/hosts
10.123.10.101 mongo-a
10.123.10.102 mongo-b
10.123.10.103 mongo-c
# install mongodb on the server
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-10gen
# create the /data/ directories
sudo mkdir /data
sudo mkdir /data/logs
sudo mkdir /data/db
# make sure the mongodb user and group have access to our custom directories
sudo chown -R mongodb:mongodb /data
# edit the mongo upstart file in /etc/init/mongodb.conf
sudo nano /etc/init/mongodb.conf
start on started mountall
stop on shutdown
respawn
respawn limit 99 5
setuid mongodb
setgid mongodb
script
exec /usr/bin/mongod --config /etc/mongodb.conf >> /data/logs/mongo-a.log 2>&1
end script
# edit mongodb configuration file
sudo nano /etc/mongodb.conf
dbpath=/data/db
logpath=/data/logs/mongod.log
logappend=true
port=27017
noauth=true
replSet=meteor
fork=true
# add a mongo log-rotation file
sudo nano /etc/logrotate.d/mongod
/data/logs/*.log {
daily
rotate 30
compress
dateext
missingok
notifempty
sharedscripts
copytruncate
postrotate
/bin/kill -SIGUSR1 `cat /data/db/mongod.lock 2> /dev/null` 2> /dev/null || true
endscript
}
# make sure mongod service is started and running
sudo service mongodb start
sudo reboot
Replica-configuratie instellen
Ga dan in de mongoschelp en start de replica-set als volgt:
meteor mongo
> rs.initiate()
PRIMARY> rs.add("mongo-a")
PRIMARY> rs.add("mongo-b")
PRIMARY> rs.add("mongo-c")
PRIMARY> rs.setReadPref('secondaryPreferred')