Recherche…
Remarques
Pour ceux qui ne sont pas familiers, un jeu de réplicas est défini comme une configuration redondante de trois serveurs. Une base de données fragmentée est définie en tant que base de données à découpage horizontal, où chaque fragment est défini comme un jeu de réplicas. Par conséquent, un cluster Mongo fragmenté implique un minimum de 11 serveurs pour un cluster à 2 partitions et augmente de trois serveurs pour chaque fragment supplémentaire. Ainsi, un cluster fragmenté a toujours 11, 14, 17, 20, 23, etc. instances de serveur. Autrement dit, il y a 2 fragments de 3 serveurs chacun, 3 contrôleurs de configuration supplémentaires et 2 routeurs. 11 serveurs au total pour un cluster à 2 partitions.
Jeu de répliques Quickstart
Construisez vous-même trois serveurs en utilisant le matériel physique ou virtuel de votre choix. (Ce tutoriel suppose que vous utilisez Ubuntu comme système d'exploitation.) Répétez ensuite les instructions suivantes trois fois ... une fois pour chaque serveur.
# 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
Configuration du jeu de réplicas
Ensuite, allez dans le shell mongo et lancez le jeu de répliques, comme ceci:
meteor mongo
> rs.initiate()
PRIMARY> rs.add("mongo-a")
PRIMARY> rs.add("mongo-b")
PRIMARY> rs.add("mongo-c")
PRIMARY> rs.setReadPref('secondaryPreferred')