Cómo configurar un clúster Cassandra

Cómo configurar un clúster Cassandra

  • Orquestación
6 min de lectura Actualizado Dec 6, 2018

Puntos clave: Instrucciones para configurar un clúster Cassandra en dos máquinas, cubriendo configuraciones de firewall y configuración de cassandra.yaml. La guía detalla los pasos para Comienza el servicio, comprobar el estado del nodo y Crea espacio de claves y tablas para la replicación de datos.

  • Abrir puertos de firewall: 7000, 7001, 7199, 9042, 9160, 9142.
  • Edito cassandra.yaml para nodos semilla y direcciones de escucha.

Aquí mostramos cómo configurar un clúster Cassandra. Vamos a utilizar dos máquinas, 172.31.47.43 y 172.31.46.15. Primero, abre estos puertos de cortafuegos en ambos:

    7000
7001
7199
9042
9160
9142

Luego sigue este documento para instalar Cassandra y Obtén sus conceptos básicos. Haz de instalar Cassandra en cada nodo.

Configura la configuración del clúster

No están un maestro central en un clúster de Cassandra. En su lugar, te simplemente Haz cada uno consciente de los demás y que trabajan juntos. Primero editaremos /etc/cassandra/cassandra.yaml en ambas máquinas y estableceremos los valores como se muestra en la tabla de abajo. No cambies el nombre del clúster todavía. Lo haremos más adelante.

    • semillas—establece la dirección IP de una máquina como semilla. No están necesario que todas las máquinas sean semillas. Las semillas son nodos que Cassandra noda utiliza cuando te Comienza Cassandra Comienza encontrar otros nodos.
    • listen_address—la dirección IP para que Cassandra la revise.
    • endpoint_snitch—esto están usa para determinar dónde enrutar datos y enviar réplicas. Nosotros utiliza el valor predeterminado a continuación. Hay son varios. Los demás son conscientes del rack, es decir, no pondrían una réplica en el mismo rack físico que otro. Si te hacía eso y fallaba todo el rack, los datos podrían perderse. Incluso están uno (Ec2Snitch) diseñado para Amazon EC2 que puede distribuir datos entre Amazon Zones.
Configuración de la máquina 172.31.46.15 Configuración de la máquina 172.31.47.43
endpoint_snitch: SimpleSnitch - cabezas de serie: "cabezas de serie: 172.31.47.43" listen_address: 172.31.46.15
endpoint_snitch: SimpleSnitch - cabezas de serie: "cabezas de serie: 172.31.47.43" listen_address: 172.31.47.43

Ahora ejecuta en ambas máquinas:

    sudo service cassandra start

Luego espera unos segundos a que funcione el descubrimiento y ejecuta en ambas máquinas:

    nodetool status

Debería mostrar ambos nodos:

    Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  172.31.46.15  245.99 KiB  256          100.0%            fb1d89bb-cbe2-488f-b2e7-da145bd2dde7  rack1
UN  172.31.47.43  196.01 KiB  256          100.0%            472fd4f0-9bb3-48a3-a933-9c9b07f7a9f6  rack1

Si te Obtén algún tipo de mensaje de error, busca en /var/log/cassandra/system.log Ahora cambiemos el nombre del clúster desde defaut. Ejecuta cqlsh y luego pega el SQL de abajo. Cassandra no replica este cambio de sistema en todo el clúster, así que te tener que ejecutarlo en ambas máquinas.

    UPDATE system.local SET cluster_name = 'Walker Cluster' where key='local';

Ahora edita /etc/cassandra/cassandra.yaml y cambia el nombre del clúster al que te quieras. Debería ser igual en ambas máquinas:

    cluster_name: 'Walker Cluster'

Entonces:

    sudo service cassandra restart

Haz esta comprobación de nuevo:

    nodetool status 

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  172.31.46.15  312.4 KiB  256          100.0%            fb1d89bb-cbe2-488f-b2e7-da145bd2dde7  rack1
UN  172.31.47.43  294.71 KiB  256          100.0%            472fd4f0-9bb3-48a3-a933-9c9b07f7a9f6  rack1

Ahora, siguiendo estas instrucciones de nuestra introducción a Cassandra, vamos a Crea algunos datos. Vamos a Ve esos datos introducidos en un nodo están replicados en otro. Pega estos comandos SQL en csql:

    CREATE KEYSPACE Library
      WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };


CREATE TABLE Library.book (       
ISBN text, 
copy int, 
title text,  
PRIMARY KEY (ISBN, copy)
 );

CREATE TABLE  Library.patron (      
ssn int PRIMARY KEY,  
checkedOut set 
);


INSERT INTO  Library.book (ISBN, copy, title) VALUES('1234',1, 'Bible');
INSERT INTO  Library.book (ISBN, copy, title) VALUES('1234',2, 'Bible');
INSERT INTO  Library.book (ISBN, copy, title) VALUES('1234',3, 'Bible');
INSERT INTO  Library.book (ISBN, copy, title) VALUES('5678',1, 'Koran');
INSERT INTO  Library.book (ISBN, copy, title) VALUES('5678',2, 'Koran');

Luego inicia sesión en la máquina opuesta y verifica que los datos han sido copiados allí:

    select * from Library.book;

 isbn | copy | title
------+------+-------
 5678 |    1 | Koran
 5678 |    2 | Koran
 1234 |    1 | Bible
 1234 |    2 | Bible
 1234 |    3 | Bible

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.