2012-03-28 9 views
6

Instalé Riak en mi Mac a través de homebrew y me gustaría configurar un clúster local de tres nodos.Ejecución de un clúster riak de tres nodos con una instalación homebrew

El basho fast track tutorial es, sin embargo basa en una acumulación de origen, y por lo que yo sé, esas instrucciones no se aplicará a mi homebrew instalar (por ejemplo make devrel generará 3 nodos, pero mi instalación no contiene el archivo MAKE).

Intenté hacer 3 copias de /usr/local/Cellar/riak, llamadas dev1, dev2 y dev3. Entonces ajustó el http, handoff_port y pb_port ajustes en devN/1.1.1x86_64/libexec/etc/app.config, así como el ajuste de -name en devN/1.1.1x86_64/libexec/etc/vm.args (utilicé 81xx para los puertos utilizados por dev1 nodo, 82XX para los utilizados por dev2 nodo, etc. Para el ajuste -name Solía ​​[email protected], [email protected], etc.).

El nodo dev1 puede iniciarse con éxito utilizando ./dev1/1.1.1x86_64/bin/riak start. Pero al iniciar el nodo dev2 usando ./dev2/1.1.1x86_64/bin/riak start, riak se queja de que el nodo ya se está ejecutando.

¿Cómo hago para que riak reconozca las tres instalaciones como nodos separados?

Respuesta

8

El problema es la variable RUNNER_SCRIPT_DIR en las secuencias de comandos ./devN/1.1.1x86_64/bin/riak - Se establece en /usr/local/Cellar/riak/1.1.1x86_64/libexec/bin en la versión homebrew original que ha copiado.

Esto se utiliza más adelante en la secuencia de comandos en la función ping_node (y en realidad, todo lo demás). El -name y el -setcookie y todas las demás configuraciones se extraen del directorio vm.args en /usr/local/Cellar/riak/1.1.1x86_64/libexec/etc en lugar de las copias que ha realizado.

Cambie eso en cada una de sus copias del script riak y debería estar listo para continuar.

+4

Gracias, Brian. Escribí un pequeño guión para configurar los nodos de una instalación de riak casera: http://ottopoellath.github.com/blog/2012/04/08/running-a-three-node-riak-cluster-using-a- homebrew-installation/ –

+0

En la versión más reciente de riak, 'RUNNER_SCRIPT_DIR' ahora se establece en' libexec/lib/env.sh' –

Cuestiones relacionadas