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