Buscar..
Observaciones
Para aquellos que no están familiarizados, un conjunto de réplicas se define como una configuración redundante de tres servidores. Una base de datos fragmentada se define como una base de datos escalonada horizontalmente, donde cada fragmento se define como un conjunto de réplicas. Por lo tanto, un clúster Mongo fragmentado involucra un mínimo de 11 servidores para un clúster de 2 fragmentos, y aumenta en tres servidores por cada fragmento adicional. Por lo tanto, un clúster fragmentado siempre tiene 11, 14, 17, 20, 23, etc. instancias de servidor. Es decir, hay 2 fragmentos de 3 servidores cada uno, 3 controladores de configuración más y 2 enrutadores. 11 servidores en total para un clúster de 2 fragmentos.
Conjunto de réplica de inicio rápido
Constrúyase usted mismo tres servidores utilizando el hardware físico o virtual que desee. (Este tutorial asume que estás usando Ubuntu como tu sistema operativo). Luego repite las siguientes instrucciones tres veces ... una vez para cada servidor.
# 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
Configuración de conjunto de réplica
Luego vaya al shell mongo e inicie el conjunto de réplicas, de esta manera:
meteor mongo
> rs.initiate()
PRIMARY> rs.add("mongo-a")
PRIMARY> rs.add("mongo-b")
PRIMARY> rs.add("mongo-c")
PRIMARY> rs.setReadPref('secondaryPreferred')