conjunto de replicación MongoDB
Lo que es conjunto de replicación MongoDB?
Set es un ejemplo mongodb replicación de la agrupación de un conjunto con el mismo conjunto de datos que consiste en la sincronización de datos entre varios servidores, (casi como MySQL copia maestra de un concepto)
Las ventajas de un conjunto de replicación: 1. mayor seguridad de los datos, recuperación de desastres
2. La disponibilidad de datos de gran tamaño, sin tiempo de inactividad de mantenimiento (como copia de seguridad, reconstrucción de índices, la conmutación por error)
3. Leer de zoom (copias extra para leer), una copia del conjunto es transparente para el programa de aplicación
Funciona conjunto de replicación (mostrado a continuación)
replicación MongoDB conjunto compuesto de una pluralidad de nodos (al menos dos nodos), en el que un nodo maestro es responsable de manejar las solicitudes de cliente, el resto son desde el nodo, es responsable de la copia de datos en el nodo primario
MongoDB generalmente consiste de un maestro-esclavo o un maestro mezcla de múltiples vías desde el nodo maestro al registro oplog todas las operaciones, el nodo sondea periódicamente el nodo maestro adquiere entonces estas operaciones, a continuación, realizar estas operaciones en su propia copia de los datos, y para asegurar que el principal nodo de datos consistente
Copiar el conjunto de principios electorales
Hay tres tipos de nodos:
nodo Standard (host): almacenamiento de datos , puede ser seleccionado como nodo activo (primario), el derecho a voto
nodo pasivo (pasiva): nodo pasivo tiene una copia completa , no puede convertirse en nodo activo, el derecho a voto
nodo de Arbitraje (árbitro): responsable de la elección , no almacene los datos, no puede servir como nodo maestro y esclavo
reglas de la elección:
1. nodo único estándar será elegido como el nodo activo (pasivo), el derecho a voto, el nodo pasivo tiene una copia completa, pero no puede ser elegido para el nodo activo, el derecho a voto, el nodo de arbitraje no copia los datos, no puede ser elegido para el nodo activo sólo el derecho a voto
2. La diferencia entre los nodos estándar y pasivos: un alto valor de prioridad es el nodo estándar, los nodos pasivos son bajos
3. Elección del último hombre en ganar votos alta, la prioridad es la prioridad entre 0 y 1000, el equivalente a un boleto extra tanto
Configuración de construcción MongoDB conjuntos de replicación
1. Cree cuatro instancias descargan e instalan empezar MongoDB (como se muestra a continuación)
2. Editar el archivo de configuración
vim /usr/local/mongodb/bin/mongodb1.conf
Nota: el valor replSet parte posterior de este parámetro se utiliza para
Otros perfiles de modificar los parámetros de puerto, DBPATH, puede logpath
3. copiar el conjunto configuración y el registro inicial
alias mongo = "/ usr / local / mongodb / bin / mongo" " mongo
> CFG = { "_ id": "wmz", "miembros": [{ "_ id": 0, "host": "192.168.0.102:27017"},{"_id":1,"host":"192.168 .0.102: 27018 "},
{" _ID ": 2," host ":" 192.168.0.102:27019" }]}
Añadido: Puede establecer la configuración de nodo en el momento, como
> Cfg = { "_ id": "WMZ", "miembros": [{ "_ id": 0, "host": "192.168.0.102:27017","priority":100},{"_id":1, "host": "192.168.0.102:27018","priority":100},
{" _id ": 2," host ":" 192.168.0.102:27019","priority":0},{"_id ": 2, "host": "192.168.0.102:27019","arbiterOnly":true}]}
Restablecer el conjunto de replicación:> rs.reconfig ()
Ver la replicación del conjunto de elecciones estatales:> rs.isMaster ()
4. Ver información sobre el estado de réplica: > rs.Status ()
estados primario:
dos estados SECUNDARIA
Nota: Salud es un representante de la salud , 0 representa el tiempo de inactividad , Estado es un representante del nodo maestro como 2 desde el nodo representante
5. manual de los nodos add:> rs.add ()
Agregado con éxito como se muestra a continuación:
Nodo de eliminación:> rs.remove ()
Eliminado correctamente como se muestra a continuación:
El fallo de la prueba transfiere automáticamente
Detener la ejecución mongodb1
/ Usr / local / mongodb / bin / mongod --config /usr/local/mongodb/bin/mongodb1.conf --shutdown
OK 27017 puerto paradas nodo maestro
Login 27018 registros de puerto en MongoDB ver el estado de la base de datos
mongo --port 27018
Encontrado 192.168.0.102:27018 tener éxito, entonces el nodo maestro PRIMARIA
Localización de fallos también puede utilizar este comando
rs.freeze(30) //暂停30s不参与选举
rs.stepDown(60,30) //告诉主节点交出主节点位置,维持从节点状态不少于60秒,等待30秒使主节点和从节点日志同步
No se puede leer los datos de forma predeterminada nodo:> rs.slaveOK ()
Conjunto de administración de copias
Añadir servidor de nodo de quitar manualmente
> Rs.add ()和> rs.remove ()
Ver la información de estado de replicación
> Rs.printReolicationInfo ()
> Rs.printSlaveReplicationInfo ()
registro oplog
Ver la información de estado de registro:> db.oplog.rs.stats ()
Cambiar el tamaño de oplog:> db.runCommand ()
conjunto copia certificada
Autenticación:
Por autenticación parámetros de configuración para abrir la autoridad de certificación, pero este método de autenticación sólo es adecuado para el nodo autónomo, cuando usamos el conjunto de replicación grado de apertura si la autoridad de certificación para asegurar el conjunto de replicación
autentificación de un solo punto
vim /usr/local/mongodb/bin/mongodb1.conf
auth = true
keyFile certificación
1. Modificar el fichero de configuración: vim /usr/local/mongodb/bin/mongodb1.conf
clusterAuthMode = KeyFile
KeyFile = / usr / local / mongodb / .keyFile
2. Crear un archivo en el contenido kgcrskey
toque /usr/local/mongodb/.keyFile
3. Configurar archivo de claves de archivos para dar el permiso
El contenido específico del archivo es en realidad su cadena, pero ha establecido requisitos para copiar archivos del archivo de claves
Contenido: caracteres codificados en base64 escritos en la concentración, es decir, la cadena puede contener az, AZ, +, /
La longitud no debe exceder de 1000 bytes
Hasta 600 permisos, permisos chmod al menos 600 KeyFile
openssl rand -base64 102> /usr/local/mongodb/.keyFile
chmod 600 /usr/local/mongodb/.keyFile
Nota: Cada nodo debe llevar a cabo esta operación