neo4j en Ubuntu 12.04 LTS

En ocasiones me pregunto cuanto tiempo tardaría en volver a poner en marcha un ubuntu con todas las personalizaciones que le he hecho. Quizá debería hacer un script cada vez que hago alguna cosa, para poder correrlo y ponerlo todo en vereda… Hoy voy a hablar de como he conseguido poner en marcha neo4j en mi Ubuntu 12.04 (soy un chico LTS).

neo4j es una base de datos de grafos, y va a ser nueva herramienta de mi navaja suiza. En mi entorno local me puedo descargar la versión Community edition…. pero a la hora de instalarlo hay un par de problemitas.

La instalación se ve sencilla de entrada. Como buen programa en Linux, apenas es usar apt-get [añadiendo un repositorio propio y una clave pública para descargar con seguridad, todo explicado en las escuetas y funcionales instrucciones en 4 pasos].

Pero hay 2 requisitos con los que mi Ubuntu 12.04 no viene de fábrica y se mete un buen cabezazo:

  • límite de ficheros abiertos. Comprueba con ulimit -n como te dice 1024, neo4j necesita un limite de 40000.
  • java version 7.

Limite de ficheros abiertos

[AskUbuntu]

Hay que editar /etc/security/limits.conf y añadir este contenido (si no está ya):

* soft nofile 4000
* hard nofile 4000

Java 7

Neo4J está desarrollado para Java 7 (el de Oracle, antiguo Sun) y Ubuntu 12 viene con Java 6 [aqui instrucciones para poner Java7], pero yo soy de los puristas, y he optado por OpenJava, la implementación con licencia libre… también funciona, pero hay que hacer las cosas bien.

Vamos a comprobar que tenemos instalado Java y que usamos la versión correcta.
:# java -version
java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.1) (6b30-1.13.1-1ubuntu2~0.12.04.1)
OpenJDK Server VM (build 23.25-b01, mixed mode)

Si no tienes la versión correcta, primero hay que instalarla (apt-get install openjdk-7-jdk) y luego elegirla (si, se pueden tener distintas versiones instaladas simultáneamente).

Existen 2 opciones para la alternativa java (que provee /usr/bin/java).
:# update-alternatives --config java
Selección Ruta Prioridad Estado
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 modo automático
1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 modo manual
2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 modo manual

Pulse para mantener el valor por omisión [*] o pulse un número de selección: 2
update-alternatives: utilizando /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java para proveer /usr/bin/java (java) en modo manual.

Y así…
:# java -version
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (7u51-2.4.4-0ubuntu0.12.04.2)
OpenJDK Server VM (build 24.45-b08, mixed mode)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *