Hi Simon, if your nodes need to find each other by IP address you should use 
-name. You can specify it in VM.args like

-name couchdb@<the IP address>

There shouldn't be a need to change the "couchdb@" element for each node unless 
you want to run multiple nodes on the same IP (not recommended).

When you add the peer nodes into the _nodes database you should use the same 
format; each document should have an ID like "couchdb@<the IP address>".

The firewall ports look fine provided that your vm.args file includes these 
lines

-kernel inet_dist_listen_min 9100
-kernel inet_dist_listen_max 9200

Cheers, Adam

> On Oct 25, 2016, at 1:17 AM, Simon Keary <ske...@immersivetechnologies.com> 
> wrote:
> 
> 
> 
> Hi All,
> 
> I'm trying to setup a test CouchDB cluster across two machines and struggling 
> to get it working and understanding how the node names work. I'm am able to 
> sucessfully call the _nodes endpoint on one of the machines to add the other 
> but I don't think this is doing the right thing since the cluster_nodes array 
> is updated with the new node but the all_nodes array isn't...
> 
> Where I think I'm going wrong is setting the node names in the the vm.args 
> files and then specifying the correct node name when trying to add the second 
> machine to the first instance. In my case the machines have host names but 
> neither machine can contact the other via this and can only contact the other 
> via IP address. Ideally I'd only like the machines to connect to each other 
> via IP and not host name as this will make maintenance of the cluster much 
> simpler going forward. In this situation I'm not sure of:
> 
> * Whether I should be setting -sname or -name in vm.args. When using -name,  
> my testing suggests I should use a name of the form "node1" with no @ symbol. 
> Is this right?
> * For -name I'm not sure whether it's supposed to be "node1@<the ip address>" 
> or "node1@<the hostname>" or "node1@localhost"?
> * Once I've set the name I'm not sure how to refer to the other node when 
> trying to add it via curl. If I've used -sname should I just use the short 
> name (e.g. "node2") or "node2@<the ip address>"? If -name is used in vm.args 
> is the correct thing to do to use "node2@<the ip address>"?
> 
> I don't believe I have a connectivity issue between the nodes but the ports 
> that are open between them are 4369, 5984, 5986, 9100-9200 (all TCP) and all 
> UDP.
> 
> When trying to remove the node, to try further variants to see if they work, 
> I get an error about a document conflict. I suspect this is because CouchDB 
> is getting into a strange state  but this makes a trial and error process of 
> figuring out how the node names work as difficult to say the least.
> 
> Any help would be appreciated - Thanks!
> Simon
> 
> 
> 
> 
> Disclaimer:
> This message contains confidential information and is intended only for the 
> individual(s) named. If you are not the named addressee you should not 
> disseminate, distribute or copy this email. Please immediately delete it and 
> all copies of it from your system, destroy any hard copies of it, and notify 
> the sender. Email transmission cannot be guaranteed to be secure or 
> error-free as information could be intercepted, corrupted, lost, destroyed, 
> arrive late or incomplete, or contain viruses. To the maximum extent 
> permitted by law, Immersive Technologies Pty. Ltd. does not accept liability 
> for any errors or omissions in the contents of this message which arise as a 
> result of email transmission.

Reply via email to