Instalar Java 7
Descargamos e instalamos Java Standard Edition Development Kit (JDK):
http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=ocomen
sudo mkdir -p /usr/local/java
cd /home/astwin/Descargas/
sudo cp -r jdk-7u55-linux-x64.tar.gz /usr/local/java/
cd /usr/local/java/
sudo chmod a+x jdk-7u55-linux-x64.tar.gz
sudo tar xvzf jdk-7u55-linux-x64.tar.gz
sudo gedit /etc/profile
Añadimos al final del fichero profile:source /etc/profileJAVA_HOME=/usr/local/java/jdk1.7.0_55
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_55/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_55/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.7.0_55/bin/javaws" 1
sudo update-alternatives --set java /usr/local/java/jdk1.7.0_55/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.7.0_55/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jdk1.7.0_55/bin/javaws
java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
Instalar Cassandra con Datastax community edition (DSC)
sudo gedit /etc/apt/sources.list.d/cassandra.sources.list
Añadimos al fichero:deb http://debian.datastax.com/community stable maincurl -L http://debian.datastax.com/repo_key | sudo apt-key add -
sudo apt-get update
sudo apt-get install dsc20
Comprobamos que la instalación es correcta:
nodetool status
Datacenter: datacenter1Iniciamos el Shell de Cassandra y comprobamos el keyspace:
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Owns (effective) Host ID Token Rack
UN 127.0.0.1 40,98 KB 100,0% 0549fd15-e907-4458-8610-4cd76934dfcb -9181846608813468564 rack1
cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.7 | CQL spec 3.1.1 | Thrift protocol 19.39.0]cqlsh> DESCRIBE KEYSPACES;
system system_traces
Instalar Eclipse. Maven gestor de dependencias.
Ya tengo Maven instalado. Driver Java para programa cliente de Datastax: Link.
Para proyecto con Maven, utilizamos la siguiente dependencia:
<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>2.0.2</version> </dependency>
Primeros pasos con Cassandra
Creamos un keyspace llamado testks. Creamos una tabla llamada persona en ese keyspace que contiene el nombre, edad y horas que duerme una persona. Añadimos un registro a la tabla y realizamos una consulta a la tabla:
cqlsh> CREATE KEYSPACE testks WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
cqlsh> DESCRIBE KEYSPACES;
system testks system_traces
cqlsh> USE testks ;
cqlsh:testks> CREATE TABLE persona(nombre text PRIMARY KEY, edad INT, horas_durmiendo FLOAT);
cqlsh:testks> INSERT INTO persona (nombre, edad , horas_durmiendo ) VALUES ( 'Jorge',5,13.2);
cqlsh:testks> SELECT * FROM persona;
nombre | edad | horas_durmiendo
--------+------+-----------------
Jorge | 5 | 13.2
(1 rows)
Primer cliente de Cassandra utilizando el driver de Java
Creamos un proyecto Maven, con las dependencias del driver de Cassandra. Implementamos un cliente simple que se conecta a la base de datos y realiza una consulta a la tabla que creamos anteriormente:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package leccion1.simpleClient; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.ResultSet; import com.datastax.driver.core.Row; import com.datastax.driver.core.Session; /** * Un cliente de Cassandra simple con el driver de Java * * Autor: Antonio Soriano. */ public class NewSimpleClient{ private Cluster cluster; private Session session; public void connect(String node){ cluster = Cluster.builder().addContactPoint(node).build(); session = cluster.connect(); } public void queryPerson(){ ResultSet results = session.execute("SELECT * FROM testks.persona"); System.out.println(String.format("%-5s\t%-5s\t%-5s%n%s","nombre","edad","horas_durmiendo","------+------+-----------------")); for (Row row: results){ System.out.println(String.format("%-5s\t%-5d\t%-5.2f",row.getString("nombre"),row.getInt("edad"),row.getFloat("horas_durmiendo"))); } System.out.println(); } public void close(){ cluster.close(); } public static void main( String[] args ){ NewSimpleClient client = new NewSimpleClient(); // Conectamos con la base de datos Cassandra (local) client.connect("127.0.0.1"); // Realizamos una consulta client.queryPerson(); // Cerramos la conexión con la base de datos client.close(); } }
Comprobamos que se ejecuta correctamente:
Proyecto: Aplicación web de Playlist
Abrimos el proyecto incluido en la práctica 1 con Eclipse y lo ejecutamos:
Abrimos la dirección http://localhost:8080/playlist/ para ver la aplicación web:
No hay comentarios:
Publicar un comentario