Couchbase Cluster Coding using Java - Help Needed

Hi,

This is in regards to the Couchbase cluster implementation of 2 nodes using Java.
I am facing a lot of issues with connection failures and data loss when i deliberately bring one node down.

Need someone to help me with the following:

1> When a node goes down abruptly without failover, does the entire cluster fail?

2> If a node has been detected is to be down, how can failover of the node be implemented in code / Java?

3> Can someone send sample Java code for Couchbase Cluster for multiple nodes along with required exception handling?

4> Does Couchbase cluster do internal Load Balancing of the nodes? How is the Load Balancing achieved and how is data distributed?

5> Does automatic failover essentially require atleast 3 nodes cluster? I have noticed that automatic failover is not working for 2 nodes cluster.

Thanks,
Sheldon