1
votes

I am using Riak 2.1.4 series in amazon. Totally new to it and have a couple of questions :

  1. I deployed an instance of Riak. Its deployed in EC2 instance ?
  2. Do we really need app.config and vm.args files for Riak configuration. I think if the nodename is available in Riak.conf thats enough isnt it ?
  3. I see the IP address of the instance is different than the once configured in riak.conf is that fine ? i.e nodename for example instance name is ec2-35-160-XXX-XX.us-west-2.compute.amazonaws.com and riak.conf has [email protected]

Only change in Riak.conf

ring_size = 64

erlang.distribution.port_range.minimum = 6000
erlang.distribution.port_range.maximum = 7999

transfer_limit = 2
search = on

This configuration exists in each instance. Am I missing something here ? How can I set this up for a five-node cluster?

1
2000 ports (6000-7999) is a very big range. Are all of those ports (plus port 4369 for EPMD) allowed through your firewall? - Joe

1 Answers

1
votes
  1. I deployed an instance of Riak. Its deployed in EC2 instance ?

Not sure what you are asking here

  1. Do we really need app.config and vm.args files for Riak configuration. I think if the nodename is available in Riak.conf thats enough isnt it ?

The 'app.config' and 'vm.args' files are the old way to configure Riak. The 'riak.conf' and 'advanced.config' files are the new way. The old way is still accepted, probably to support legacy installations, but I would expect support for it to be dropped in a future release. See http://docs.basho.com/riak/kv/2.1.4/configuring/basic/

  1. I see the IP address of the instance is different than the once configured in riak.conf is that fine ? i.e nodename for example instance name is ec2-35-160-XXX-XX.us-west-2.compute.amazonaws.com and riak.conf has [email protected]

In general, if you want Erlang nodes to communicate they must be able to locate each other using the node name. The node name uses the local@domain pattern. All other nodes must be able to resolve the domain part to an IP address that is valid for the machine the node is running on, and the node itself will register the local part with the local erlang port mapper daemon(EPMD).

So whether or not [email protected] is a valid node name will depend on your cluster's other nodes' ability to reach that private address.

Most riak-admin commands spawn a second maintenance node locally, which then uses remote procedure calls to talk to the running Riak instance. So if that 172.31.x.x IP address is not actually assigned to the local machine, those riak-admin commands will fail to find a node to talk to.