Inicio rápido con un clúster local
Arranca tres nodos en un solo proceso y mira cómo se reparten los datos que escribes.
Vas a arrancar un clúster de tres nodos en tu máquina con una sola orden, escribir datos en él y ver sus nodos y sus rangos con las mismas órdenes que usarías con un clúster de tres máquinas. Sirve para desarrollar contra varios nodos sin preparar máquinas.
Qué vas a conseguir
Tres nodos que forman un clúster dentro de un solo proceso, con los datos en memoria. Tardas unos cinco minutos.
Antes de empezar
Necesitas el binario teseladb y mongosh. Si aún no tienes el binario, sigue Instalar en
Linux.
Paso 1. Arranca los tres nodos
teseladb dev --nodes 3El nodo k escucha en el puerto de clientes más k, así que los tres atienden en 27017, 27018 y 27019, siempre en
127.0.0.1. La orden escribe una línea ready por nodo. Apunta el puerto de administración que el log anota para cada
uno, porque lo usas en el paso 3.
Paso 2. Conéctate y escribe datos
mongosh "mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019/"db.pedidos.insertMany([
{ cliente: "Ana", total: 30 },
{ cliente: "Luis", total: 12 },
]);Abre otra terminal y conéctate con los tres nodos en la cadena; este clúster de desarrollo no usa TLS ni usuarios, así
que la cadena no lleva ninguna opción. La respuesta a insertMany confirma la escritura y da el _id de cada documento:
{
acknowledged: true,
insertedIds: {
...
}
}Paso 3. Mira los nodos y los rangos
teseladb admin --node 127.0.0.1:<puerto> nodes
teseladb admin --node 127.0.0.1:<puerto> ranges --collection test.pedidosUsa como <puerto> el puerto de administración de cualquiera de los tres nodos. Las dos órdenes preguntan al mismo
nodo, que responde por todo el clúster.
Comprobar que funciona
nodes lista los tres nodos como activos. ranges muestra los rangos de la colección pedidos, con las réplicas de
cada rango y el nodo que lo lidera; con dos documentos solo hay un rango, que tiene una réplica en cada nodo.
Limpiar
Para el proceso con Ctrl+C. Los datos estaban en memoria, así que desaparecen con el proceso y el siguiente teseladb dev
empieza con un clúster vacío.
Siguientes pasos
- Desplegar con systemd, para montar el mismo clúster en tres máquinas.
- Rangos y réplicas, para entender lo que viste en el paso 3.