cassandraEmpezando con Cassandra


Observaciones

La base de datos de Apache Cassandra es la opción correcta cuando necesita escalabilidad y alta disponibilidad sin comprometer el rendimiento. La escalabilidad lineal y la probada tolerancia a fallas en el hardware básico o la infraestructura en la nube la convierten en la plataforma perfecta para datos de misión crítica. El soporte de Cassandra para la replicación en múltiples centros de datos es el mejor de su clase, brindando una menor latencia para sus usuarios y la tranquilidad de saber que puede sobrevivir a las interrupciones regionales.

PROBADO

Cassandra está en uso en Constant Contact, CERN, Comcast, eBay, GitHub, GoDaddy, Hulu, Instagram, Intuit, Netflix, Reddit, The Weather Channel y más de 1500 compañías más que tienen conjuntos de datos grandes y activos.

TOLERANTE A FALLOS

Los datos se replican automáticamente en varios nodos para tolerancia a fallos. Se admite la replicación en varios centros de datos. Los nodos fallidos se pueden reemplazar sin tiempo de inactividad.

RENDIMIENTO

Cassandra siempre supera las alternativas populares de NoSQL en los puntos de referencia y las aplicaciones reales, principalmente debido a elecciones arquitectónicas fundamentales.

DESCENTRALIZADO

No hay puntos únicos de fracaso. No hay cuellos de botella en la red. Cada nodo en el clúster es idéntico.

ESCALABLE

Algunas de las implementaciones de producción más grandes incluyen Apple, con más de 75,000 nodos que almacenan más de 10 PB de datos, Netflix (2,500 nodos, 420 TB, más de 1 billón de solicitudes por día), el motor de búsqueda chino Easou (270 nodos, 300 TB, más de 800 millones requisitos por día) y eBay (más de 100 nodos, 250 TB).

DURABLE

Cassandra es adecuada para aplicaciones que no pueden permitirse perder datos, incluso cuando un centro de datos completo deja de funcionar.

Estas en control

Elija entre la replicación síncrona o asíncrona para cada actualización. Las operaciones asíncronas de alta disponibilidad están optimizadas con funciones como Hinted Handoff y Read Repair.

ELÁSTICO

El rendimiento de lectura y escritura aumenta linealmente a medida que se agregan nuevas máquinas, sin interrupciones ni interrupciones en las aplicaciones.

APOYO PROFESIONAL

Los contratos y servicios de soporte de Cassandra están disponibles a través de terceros.

Versiones

Versión Fecha de lanzamiento
1.1.12 2013-11-19
1.1.9 2013-02-11
1.2.12 2013-11-28
1.2.13 2013-12-19
1.2.15 2014-02-19
1.2.16 2014-04-22
1.2.17 2014-06-25
1.2.18 2014-07-04
1.2.19 2014-11-14
1.2.6 2013-07-02
1.2.8 2013-07-27
2.0.10 2014-08-12
2.0.11 2014-10-17
2.0.12 2015-01-14
2.0.13 2015-03-20
2.0.14 2015-04-01
2.0.15 2015-06-01
2.0.16 2015-07-08
2.0.17 2015-09-18
2.0.5 2014-02-13
2.0.6 2014-04-02
2.0.7 2014-04-24
2.0.8 2014-06-13
2.0.9 2014-07-22
2.1.11 2015-10-12
2.1.12 2015-10-22
2.1.2 2014-11-20
2.1.3 2015-03-03
2.1.4 2015-04-01
2.1.5 2015-03-31
2.1.6 2015-06-09
2.1.7 2015-06-18
2.1.8 2015-07-03
2.1.9 2015-09-03
2.2.0 2015-05-14
2.2.0-beta1 2015-05-19
2.2.0-rc1 2015-06-04
2.2.0-rc2 2015-06-30
2.2.1 2015-08-25
2.2.2 2015-09-25
2.2.3 2015-10-12
2.2.4 2015-12-02
3.0.0 2015-01-26
3.0.0-alfa 2015-07-29
3.0.0-alfa1 2015-07-18
3.0.0-beta1 2015-07-10
3.0.0-beta2 2015-09-04
3.0.0-rc1 2015-07-16
3.0.0-rc2 2015-10-16
3.0.1 2015-12-04
3.0.2 2016-01-21
3.0.3 2015-11-24
3.0.4 2016-02-05
3.0.5 2016-04-02
3.0.6 2016-03-31
3.0.7 2016-05-24
3.0.8 2016-05-25
3.2.819 2016-01-05
3.4.950 2016-03-08
3.6.1076 2016-05-02
3.8.1199 2016-06-27
3.10.3004 2016-08-10

(Obtuve esto usando un poco de awk: git log --tags --simplify-by-decoration --pretty="format:%ai %d" |egrep "\(tag: [0-9]"| awk -F" " '{ print $1 " " $5}'|awk -F"." '{print $1 "." $2 "." $3}'| awk -F" " '{print $2 " |" $1}'| sed 's/)//'|sed 's/,//'| sort -n|sort -u -t" " -k1,1 | awk '{print "|" $0 "|"}' )

Instalación o configuración

Instalación de un solo nodo

  1. Preinstalar NodeJS, Python y Java
  2. Seleccione su documento de instalación en función de su plataforma http://docs.datastax.com/en/cassandra/3.x/cassandra/install/installTOC.html
  3. Descargue los binarios de Cassandra desde http://cassandra.apache.org/download/
  4. Descomprima el archivo descargado en <installation location>
  5. Inicie el cassandra usando <installation location>/bin/cassandra O inicie Cassandra como servicio - [sudo] service cassandra start
  6. Verifique si Cassandra está en funcionamiento usando <installation location>/bin/nodetool status .

Ex:

  1. En el entorno de Windows, ejecute el archivo cassandra.bat para iniciar el servidor Cassandra y cqlsh.bat para abrir el terminal cliente CQL para ejecutar los comandos CQL.

Hay dos formas en que se puede llevar a cabo la instalación de un solo nodo .

Debe tener Oracle Java 8 o OpenJDk 8 (preferido para las versiones de Cassandra> 3.0)

1. Instalar un paquete Debian (instala Cassandra como un servicio)

Agregue la versión de Cassandra al repositorio (reemplace el 22x con su propia versión, por ejemplo, para 2.7 use 27x)

echo "deb-src http://www.apache.org/dist/cassandra/debian 22x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
# Update the repository  
sudo apt-get update
# Then install it
sudo apt-get install cassandra cassandra-tools
 

Ahora Cassandra se puede iniciar y dejar de usar:

sudo service cassandra start
sudo service cassandra stop
 

Compruebe el estado utilizando:

nodetool status
 

Los directorios de registros y datos son /var/log/cassandra y /var/lib/cassandra respectivamente.

2. Instalar cualquier versión de Cassandra en forma de archivo binario (instala Cassandra como un proceso independiente)

Descarga la versión Datastax:

curl -L  http://downloads.datastax.com/community/dsc-cassandra-version_number-bin.tar.gz | tar xz
 

O Apache Cassandra tarball binario manualmente (desde el sitio http://www.apache.org/dist/cassandra/)

Ahora untar esto:

tar -xvzf dsc-cassandra-version_number-bin.tar.gz
 

Cambie el directorio para instalar la ubicación:

cd install_location
 

Inicia Cassandra usando:

sudo sh ./bin/cassandra 
 

Dejar de usar:

sudo kill -9 pid
 

Comprobar:

./bin/nodetool status
 

Y viola, tienes un clúster de prueba de un solo nodo para Cassandra. Así que solo usa cqlsh en el terminal para el shell de Cassandra.

La configuración de Cassandra se puede hacer en cassandra.yaml en la carpeta conf en install_location .

Instalación multi nodo

Instalación de Multi DC Cluster