nosql - instalación y puesta en marcha de apache cassandra
Post on 27-Oct-2014
321 Views
Preview:
TRANSCRIPT
Bases de datos NoSQLParte III: Práctica sobre Apache Cassandra
Roberto Amor Marcos
Bases de Datos Avanzadas
Contenidos
Requisitos y material
Instalación
El framework Easy-Cassandra
Bibliografía
Requisitos y materialElementos necesarios para realizar la práctica:
Java 1.6 o 1.7 (Java JDK 6 o 7)http://www.oracle.com/technetwork/java/javase/downloads/index.html
Apache Cassandra 1.0.6-bin (no usar 1.0.8!!! bug en Windows)http://archive.apache.org/dist/cassandra/1.0.6/apache-cassandra-1.0.6-bin.tar.gz
XAMMP for Windows (u otro gestor que incluya Apache Web Server) - Opcional (necesario para Cassandra Cluster Admin)
http://www.apachefriends.org/en/xampp-windows.html
Cassandra Cluster Admin - Opcional pero recomendadohttps://github.com/sebgiroux/Cassandra-Cluster-Admin/zipball/master
Eclipsehttp://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr2
Easy-Cassandra with Dependenceshttps://github.com/downloads/otaviojava/Easy-Cassandra/EasyCassandra-1.0.8-With_Depencence.rar
InstalaciónUna vez instalada la última versión de Java JDK hay que añadir una variable de entorno con el JAVA_HOME.
WinXP : Propiedades de MiPC
InstalaciónUna vez instalada la última versión de Java JDK hay que añadir una variable de entorno con el JAVA_HOME.
Win7 : Propiedades de Equipo >Configuración avanzada del
sistema
InstalaciónUna vez instalada la última versión de Java JDK hay que añadir una variable de entorno con el JAVA_HOME.
InstalaciónUna vez instalada la última versión de Java JDK hay que añadir una variable de entorno con el JAVA_HOME.
Normalmente instalado en C:\Archivos de programa\Java\jdk1.{version}.0_{revision}
InstalaciónUna vez instalada la última versión de Java JDK hay que añadir una variable de entorno con el JAVA_HOME.
Probar la definición de la variable desde el cmdecho %JAVA_HOME%
Instalación
Descomprimir Cassandra en C:\Cassandra
Abrir C:\Cassandra/conf/cassandra.yaml
Reconfigurar la ruta de data_file_directories, commitlog_directory y saved_caches_directory
Abrir C:\Cassandra/conf/cassandra-env.sh
Reducir el tamaño del HEAP de Java por (y descomentar la línea!!):
MAX_HEAP_SIZE=”1GB”
HEAP_NEWSIZE=”800MB”
Instalación
Descomprimir Cassandra en C:\Cassandra
Abrir C:\Cassandra/conf/cassandra.yaml
Reconfigurar la ruta de data_file_directories, commitlog_directory y saved_caches_directory
Abrir C:\Cassandra/conf/cassandra-env.sh
Reducir el tamaño del HEAP de Java por (y descomentar la línea!!):
MAX_HEAP_SIZE=”1GB”
HEAP_NEWSIZE=”800MB”
InstalaciónDesde el cmd ir a la ruta C:\Cassandra/bin y ejecutar:
cassandra -f
InstalaciónDesde el cmd ir a la ruta C:\Cassandra/bin y ejecutar:
cassandra -f
InstalaciónUna vez conectados crear un keyspace de prueba con:
create keyspace practicaCassandra;
Y asignar la conexión actual al nuevo keyspace:
use practicaCassandra;
Instalación
XAMPP normalmente se instala en C:\XAMPP
Crear una carpeta dentro de C:\XAMPP\htdocs (esta es la carpeta de los ficheros web) llamada cca
Descomprimir el contenido de sebgiroux-Cassandra-Cluster-Admin en cca
Activar el servidor Apache desde el Panel de Control de XAMPP
Probar la instalación accediendo desde el navegador:
http://localhost/cca
Instalación
XAMPP normalmente se instala en C:\XAMPP
Crear una carpeta dentro de C:\XAMPP\htdocs (esta es la carpeta de los ficheros web) llamada cca
Descomprimir el contenido de sebgiroux-Cassandra-Cluster-Admin en cca
Activar el servidor Apache desde el Panel de Control de XAMPP
Probar la instalación accediendo desde el navegador:
http://localhost/cca
Instalación
XAMPP normalmente se instala en C:\XAMPP
Crear una carpeta dentro de C:\XAMPP\htdocs (esta es la carpeta de los ficheros web) llamada cca
Descomprimir el contenido de sebgiroux-Cassandra-Cluster-Admin en cca
Activar el servidor Apache desde el Panel de Control de XAMPP
Probar la instalación accediendo desde el navegador:
http://localhost/cca
Instalación
XAMPP normalmente se instala en C:\XAMPP
Crear una carpeta dentro de C:\XAMPP\htdocs (esta es la carpeta de los ficheros web) llamada cca
Descomprimir el contenido de sebgiroux-Cassandra-Cluster-Admin en cca
Activar el servidor Apache desde el Panel de Control de XAMPP
Probar la instalación accediendo desde el navegador:
http://localhost/cca
Instalación
Descomprimir donde se quiera todos los .jar contenidos en el .rar de “Easy-Cassandra with Dependences”
En Eclipse crear un nuevo proyecto Java y añadir todas las librerías descomprimidas desde:
Build Path>Configure Build Path...>Libraries>Add External JARs...
Easy-Cassandra
Easy-Cassandra es un framework para trabajar con Cassandra desde el lenguaje de alto nivel Java.
Aprovecha las propiedades orientadas a objetos de Java para relacionar clase con ColumnFamily.
Cada clase se corresponde con una familia de columnas.
Cada atributo se corresponde con una columna.
Un atributo especial se declara como KEY para Cassadra.
Easy-Cassandra
Para una correcta sincronización entre los tipos de dato string (UTF-8 o Hexadecimal) hay que indicar a Cassandra cómo queremos que estén codificadas nuestras familias de columnas.
create column family GroupInvitation with comparator = UTF8Type and column_metadata = [{column_name: iduser, validation_class: UTF8Type},{column_name: idgroup, validation_class: UTF8Type},{column_name: text, validation_class: UTF8Type},{column_name: created, validation_class: UTF8Type}];
Easy-Cassandra
Se utilizan metadatos o anotaciones en las clases Java a las que se van a dar persistencia.
@ColumnFamilyValue(name = "Persona")public class Persona implements Serializable {...}
@ColumnValue(name = "edad") private Integer edad;
@IndexValue @ColumnValue(name = "nombre") private String nombre;
@KeyValue(auto=false)private Long id;
Easy-Cassandra
Para obtener una conexión hacia la base de datos hay que crear un enlace mediante la clase Persistence
Persistence persistence;persistence = EasyCassandraManager.getPersistence("keyspace", "localhost", 9160);
Easy-Cassandra
boolean success = persistence.insert(object);
boolean success = persistence.delete(object);
boolean success = persistence.deleteByKeyValue(rowKey, Persona.class);
boolean success = persistence.update(object);
Una vez realizada la conexión, el objeto persistance ofrece los siguientes métodos para la manipulación de los datos.
Comandos de actualización
Easy-Cassandra
List<Persona> list =persistence.findAll(Persona.class);List<Persona> list =persistence.findAll(Persona.class, 15000);
Persona result=(Persona)persistence.findByKey(idValue, Persona.class);
List<Persona> list=persistence.findByKeyIn(Persona.class,1,4,8);
Long numberOfRow=persistence.count(Persona.class);
Una vez realizada la conexión, el objeto persistance ofrece los siguientes métodos para la manipulación de los datos.
Comandos de consulta
Easy-Cassandra
Easy-Cassandra ofrece un segundo modo de manipulación de los datos en Cassandra: ejecutando directamente sentencias CQL.
Pueden realizarse de manera independiente a la estructura de objetos de la aplicación.
Pueden aparecer algunos problemas entre los tipos string.
boolean persistence.executeUpdateCql(String query);
List<Map<String, String>> result=persistence.executeCql(String SelectQuery);
Referencias
http://cloud.github.com/downloads/otaviojava/Easy-Cassandra/UserGuide-EasyCassandra_002.pdf - Easy-Cassandra User Guide.
top related