Búsqueda de sitios web

Apache Cassandra con Ubuntu 15.04


Introducción:

Esta es la parte I de una Serie de Bases de Datos Cassandra No-sql, en esta primera parte configuraremos Apache Cassandra con Ubuntu 15.04, irá poco un poco más profundamente en la próxima serie.

Apache Cassandra es una base de datos NoSQL masiva y escalable, está diseñada para manejar grandes cantidades de datos en varios servidores. Es una base de datos de arquitectura peer-to-peer. Cassandra proporciona un centro de datos de alta disponibilidad sin puntos de falla. Muy alto rendimiento de escritura y lectura. En la actualidad, se utiliza en numerosos centros de datos para gestionar su infraestructura de datos críticos. Las empresas modernas recurren a NoSQL/cassandra cuando necesitan un rendimiento masivo a gran escala.

Requisitos previos:

Sistema operativo de escritorio Ubuntu 15.04.

Oracle JDK/JRE

JNA (Acceso nativo de Java)

Instalación:

Instalar el escritorio de Ubuntu 15.04

Instalar oracle-jkd 7 (java)
sudo add-apt-repository ppa:webupd8team/java

Sistema de actualización:
sudo apt-get update
sudo apt-get install oracle-java7-installer

Presiona OK:

Configure Oracle-java-7 automáticamente, ejecute

sudo apt-get install oracle-java7-set-default

Ahora necesitarás instalar JNA, mejorará el rendimiento del servidor cassDB.

JNA está disponible en github.com/twall/jna, descargue jna.jar.

 wget https://maven.java.net/content/repositories/releases/net/java/dev/jna/jna/4.1.0/jna-4.1.0.jar

Mueva JNA a la carpeta adecuada.

cd  /usr/share/java

Copie el jna.jar a esa carpeta.

Crea un nuevo usuario 'cassandra':
adduser cassandra

Asigne una contraseña a ese usuario recién creado 'cassandra', para configurar apache cassandra.

Cambie al usuario "cassandra" y cree una nueva carpeta denominada "cassandra" en el directorio de inicio de "cassandra", descargaremos apache-cassandra en esa carpeta del usuario "cassandra":

su cassandra
mkdir cassandra
cd cassandra

Echa un vistazo a dónde estás exactamente, con pwd.

pwd

Ahora, descargue Apache-cassandra en esa carpeta. de “usuaria cassandra”

 wget http://mirror.cogentco.com/pub/apache/cassandra/2.1.7/apache-cassandra-2.1.7-bin.tar.gz

Extrae el paquete.

tar -xvf apache-cassandra-2.1.7-bin.tar
gunzip apache-cassandra-2.1.7-bin.tar.gz

eche un vistazo a la carpeta apache-Cassandra extraída

Ahora, cree un enlace suave de JNA, en la carpeta cassandra lib.

cd /home/cassandra/cassandra/apache-cassandra-2.1.7/
ln -s /usr/share/java/jna-4.1.0.jar jna.jar

edite /etc/security/limits.conf para asignar el límite de memoria a Cassandra como ilimitado.

describir el límite de utilidad de memoria blanda y dura (color rojo)

vim /etc/security/liits.conf

salida de muestra:
#Each line describes a limit for a user in the form:
#
           
#
#Where:
can be:
       - a user name
       - a group name, with @group syntax
       - the wildcard *, for default entry
       - the wildcard %, can be also used with %group syntax,
                for maxlogin limit
       - NOTE: group and wildcard limits are not applied to root.
         To apply a limit to the root user,  must be
         the literal username root.
#
can have the two values:
       - "soft" for enforcing the soft limits
       - "hard" for enforcing hard limits
#
#unixmen
cassandra soft nmlock unlimited
cassandra hard nmlock unlimited

can be one of the following:
       - core - limits the core file size (KB)
       - data - max data size (KB)
       - fsize - maximum filesize (KB)
       - memlock - max locked-in-memory address space (KB)
       - nofile - max number of open files
       - rss - max resident set size (KB)
       - stack - max stack size (KB)
       - cpu - max CPU time (MIN)
       - nproc - max number of processes
       - as - address space limit (KB)
       - maxlogins - max number of logins for this user
       - maxsyslogins - max number of logins on the system
       - priority - the priority to run user process with
       - locks - max number of file locks the user can hold
       - sigpending - max number of pending signals
       - msgqueue - max memory used by POSIX message queues (bytes)
       - nice - max nice priority allowed to raise to values: [-20, 19]
       - rtprio - max realtime priority
       - chroot - change root to directory (Debian-specific)
#
                
#

#*               soft    core            0
#root            hard    core            100000

Editar cassandra.yaml:

Vaya al directorio conf de la carpeta de instalación de apache-cassandra y edite cassandra.yaml para definir el nombre del clúster.

nano /home/cassandra/cassandra/apache-cassandra-2.1.7/conf/cassandra.yaml
cluster_name: 'unixmen'

Cree directorios necesarios y asigne los derechos de acceso adecuados:

Cambie al usuario root y cree los directorios '/var/lib/cassandra/' y '/var/log/cassandra', defina el permiso en consecuencia:

mkdir /var/lib/cassandra/
mkdir /var/log/cassandra
Definir permisos:
chown cassandra.cassandra /var/lib/cassandra
chown cassandra.cassandra /var/log/cassandra

Prueba Casandra:

Ahora, cambie al usuario cassandra, vaya al director bin disponible con el directorio de instalación de apache-cassandra.

cd /home/cassandra/cassandra/apache-cassandra-2.1.7/bin

Ejecute el script cassandra presente en el directorio bin con la opción -f.

./cassandra -f

Este comando ./cassandra -f, es un proceso largo y que lleva mucho tiempo, déjelo como tal y abra una nueva terminal para ejecutar los siguientes comandos.

Deje ./cassandra en segundo plano e inicie sesión con el usuario 'cassandra' desde la nueva terminal, vaya al contenedor del directorio de instalación de apache-casaandra y ejecute ./cassandra-cli, cassandria-cli es la versión anterior, ( debe cambiar a la utilidad 'cqlsh'; explicaremos los usos de 'cqlsh' en la próxima serie)

cd /home/cassandra/cassandra/apache-cassandra-2.1.7/bin/
./cassandra-cli

Pongamos algunos ejemplos:

bin/cassandra-cli --host localhost

 [default@unknown] connect localhost/9160;

9160 es el puerto utilizado por cassandria.

Intentemos crear un espacio de claves, el espacio de claves puede considerarse como una base de datos de mysql.

 [default@unknown]create keyspace unixmen;

 [default@unknown]describe cluster;

Por fin echemos un vistazo a la utilidad cqlsh.

bin$./cqlsh

Eso es todo.

¡¡Divertirse!!