Hi Matt,

Just to add to Charlie's suggestion, you could take a look at EC2 elastic IP 
addresses which would allow you to permanently map a public and private address 
to an EC2 instance, assignDNS hostnames and not have them change on reboot[1]

[1] http://aws.amazon.com/articles/1346

Regards

Richard

On 7 Jan 2013, at 23:03, Charlie Voiselle <cvoise...@basho.com> wrote:

> Matt:
> 
> You would need to use (or implement your own) DNS service that you could 
> programmatically access--Route 53 has an API that you could use to create DNS 
> entries that point to the internal addresses of your nodes.   In very 
> carefully re-reading the thread Deepak mentions, one problem that will occur 
> is that each node needs to be able to resolve the other nodes by name also.  
> The only way for this to occur reasonably, would be to register the internal 
> addresses with a single point that they share.  Some examples of free 
> services that you might use for this are DynDns[1], DNSDynamic[2], or 
> DNS-O-Matic[3].   I have also seen some projects floating around the web that 
> might enable you to create a self-hosted dynamic DNS like opendyn[4] and 
> GnuDIP[5]; however, I have had no occasion to use something like this in my 
> own environment.   Some additional discussion about creating your own Dynamic 
> DNS server is also at 
> http://unix.stackexchange.com/questions/29049/how-to-create-a-custom-dynamic-dns-solution
> 
> Hope this helps!
> Charlie
> 
> [1] http://www.dyn.com
> [2] http://www.dnsdynamic.org
> [3] http://www.dnsomatic.com
> [4] http://code.google.com/p/opendyn/
> [5] http://gnudip2.sourceforge.net/
> 
> On Jan 7, 2013, at 5:00 PM, Matt Black <matt.bl...@jbadigital.com> wrote:
> 
>> Thanks for this Charlie.
>> 
>> I'm running a production Riak cluster on AWS which runs constantly, and I've 
>> been wondering how I might be able to easliy stop and start AWS nodes for a 
>> testing and benchmarking cluster (to save on cost).
>> 
>> By using the 'riaknode1.priv' hostname method you describe, would I be able 
>> to stop and then restart a whole cluster of nodes at once? (As described by 
>> Deepak, AWS assigns new IPs when a VM starts).
>> 
>> Thanks
>> Matt
>> 
>> 
>> On 8 January 2013 01:31, Charlie Voiselle <cvoise...@basho.com> wrote:
>> Deepak:
>> 
>> When you name a node in app.config with -name it has to have a '.' in it,  
>> like r...@hostname.net  As you have surmised, you can get around that if you 
>> use the -sname argument instead. 
>> 
>> They have to be done consistently.  In your example, had you used the -sname 
>> argument, `riak@riaknode1` would work.  Making a host entry `riaknode1.priv` 
>> that points to the local address would work with the -name argument.
>> 
>> The inportant thing about -name and -sname is that they can't mix within a 
>> cluster.
>> 
>> Cluster replace is designed to replace a node with a new one and transfer 
>> all the partitions. You can cheat and use it to rename a node though.  
>> 
>> The process to do this would look like the following:
>> 
>>      • Stop the node to rename with `riak stop`
>>      • Mark it 'down' from another node in the cluster using `riak-admin 
>> down «old nodename».
>>      • Rename the node in vm.args.
>>      • Delete the ring directory.
>>      • Start the node with `riak start`.  
>>      • It will come up as a single instance which you can verify with 
>> `riak-admin member-status`.
>>      • Join the node to the cluster with `riak-admin cluster join «cluster 
>> nodename» `
>>      • Set it to replace the old instance of itself with `riak-admin cluster 
>> replace «old nodename» «new nodename»
>>      • Plan the changes with `riak-admin cluster plan`
>>      • Commit the changes with `riak-admin cluster commit`
>> 
>> As you can see, this is a very large effort, so best to use hostnames that 
>> aren't moving around.  Apologies for you getting this twice, Deepak. I 
>> failed to reply to the list as well.
>> 
>> Hope this makes sense...
>> Charlie
>> 
>> On Jan 1, 2013, at 2:43 PM, Deepak Balasubramanyam <deepak.b...@gmail.com> 
>> wrote:
>> 
>>> I took the AWS EC2 riak image for a spin today. I have a query regarding 
>>> riak nodes and how they behave when the machine reboots.
>>> 
>>> When an EC2 instance reboots, the internal ip / internal DNS / external DNS 
>>> change. This renders the app.config and -name argument on vm.args 
>>> incorrect. I was exploring solutions to deal with this problem. 
>>> 
>>> 1. Preventive measures
>>> 
>>> Someone on this thread dated May 2011 suggested using host file entries 
>>> that point to the local internal IP address. That does not seem to work. 
>>> Riak fails with the following error when I add a new entry to /etc/hosts 
>>> and configure vm.args with -name riak@riaknode1
>>> 
>>> Hostname riaknode1 is illegal
>>> 
>>> I confirmed that riaknode1 pings correctly before starting riak. I guess 
>>> erlang tries to match the hostname of the system resulting in this failure 
>>> ? Can anyone throw some light on this ?
>>> 
>>> 2. Use -sname
>>> 
>>> Is starting the erlang VM with the sname flag an option if it will help 
>>> prevent the 'illegal hostname' error ? 
>>> Disclaimer: My knowledge of erlang is close to zilch, so sorry if that 
>>> option sounded like something you could dismiss easily :)
>>> 
>>> 3. Use cluster replace
>>> 
>>> a. I understand that the IPs in app.config and vm.args can be replaced with 
>>> the correct IP on a restart and using a subsequent 'cluster replace' 
>>> command will do. Will executing the 'cluster plan' and 'cluster commit' 
>>> commands now produce network chatter ? 
>>> 
>>> b . What happens if 2 nodes go down and one was joined with the other. They 
>>> both have 2 different IP addresses on restart. How will 'cluster replace' 
>>> work now ?
>>> 
>>> Do let me know your thoughts.
>>> 
>>> Thanks
>>> -Deepak
>>> _______________________________________________
>>> riak-users mailing list
>>> riak-users@lists.basho.com
>>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>> 
>> 
>> _______________________________________________
>> riak-users mailing list
>> riak-users@lists.basho.com
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
>> 
>> 
> 
> _______________________________________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com


_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to