El nodo Riak ya no funciona después de cambiar la dirección IP
Estoy utilizando un servidor virtual Ubuntu 12.04 de Amazon EC2 como mi único nodo Riak. He pasado por todas las etapas adecuadas de configuración de Riak en la instancia utilizando la guía en el sitio web de bashoaquí. Dóndex.x.x.x
Es la dirección IP privada de la instancia, esto incluye:
Utilizandosudo su -
para obtener privilegios de root (EC2 me registra como 'Ubuntu').
Instalando el SSL Lib con:
sudo apt-get install libssl0.9.8
Descargando el paquete de 64 bits para 12.04:
wget http://downloads.basho.com.s3-website-us-east-1.amazonaws.com/riak/CURRENT/ubuntu/precise/riak_1.2.1-1_amd64.deb
Luego desempaquetar a través de:
sudo dpkg -i riak_1.2.1-1_amd64.deb
Como se indica en elguia de basho, Actualicé estos dos archivos (usando vi):
vm.argsCambiando-name [email protected]
a la IP privada de mi instancia.app.configCambiando{http, [ {"x.x.x.x", 8098 } ]}
a la IP privada de mi instancia.
Cambiando{pb_ip, "x.x.x.x"}
a la IP privada de mi instancia.
El nodo Riak estaba funcionando bien cuando configuré el servidor por primera vez y realicé lo anterior, pude conectarme al nodo y usarriak start
entoncesriak-admin test
devuelto exitosamente con:
>Attempting to restart script through sudo -H -u riak
>Successfully completed 1 read/write cycle to '[email protected]'
Al día siguiente encendí la instancia, repetí el proceso anterior (ignorando la instalación) con la nueva dirección IP de la instanciay.y.y.y
(la IP privada de la instancia cambia cada vez que se detiene / inicia) y se escriberiak start
en la terminal, solo para ser recibido con:
>Attempting to restart script through sudo -H -u riak
>Riak failed to start within 15 seconds,
>see the output of 'riak console' for more information.
>If you want to wait longer, set the environment variable
>WAIT_FOR_ERLANG to the number of seconds to wait
En la consola riak el error que se da es:
>gen_server riak_core_capability terminated with reason: no function clause matching orddict:fetch('[email protected]', [{'[email protected]',[{{riak_core,staged_joins},[true,false]},{{riak_core,vnode_routing},[proxy,...]},...]}])
Dóndey.y.y.y
es la nueva dirección IP de la instancia yx.x.x.x
Era el viejo.
He estado rascándome la cabeza por un tiempo y no puedo encontrar nada sobre el tema, la única solución que se me ocurre es volver a instalar Riak en caso de que mis directorios PATH hayan fallado. Si eso falla, mi último recurso sería terminar la instancia y reconfigurar Riak en una nueva instancia. Así que antes de saltar la pistola, lo que me gustaría preguntar es:
Después de actualizar los campos enapp.config
yvm.args
con la nueva dirección IP de la instancia, ¿por qué es lariak start
comando ya no tiene éxito?
¿Hay alguna forma de asignar una instancia de Ubuntu EC2 con una IP privada estática? Esto no solo ayudaría a resolver el problema, sino que también me ahorra tiempo al tener que actualizarapp.config
yvm.args
Cada vez que inicio / paro la instancia.