how about add a new to three nodes
I had threes nodes, 1 active + 2 replica.
(details: 10.253.191.211 - active , 10.122.129.186 - replica, 10.220.225.229 - replica)
then added 10.88.215.192 by the way of 'join existing cluster'. After rebalanced,the situation changed completely.
(details: 10.88.215.192 - replica, 10.253.191.211 - none , 10.122.129.186 - active, 10.220.225.229 - replica)
the 10.253.191.211 is neither active or replica.
My questions :
1. how about the 10.253.191.211 ? Is it still a member of the cluster ?
2. why the active node change from 10.253.191.211 to 10.122.129.186 ?
3. according to the document, "each replicas receives copies of all the key/value pairs", but the size of data directories are not same. Is it replicated completely ? All OS systems are same.
(
10.88.215.192:
2392 bibo-data
2384 default-data
10.253.191.211:
3100 bibo-data
3096 default-data
10.122.129.186:
3276 bibo-data
3276 default-data
10.220.225.229:
2924 bibo-data
2924 default-data
)
I think your a little bit confused here as to exactly how Membase does replication and rebalancing. I'll briefly go over it and give a simple example and then answer your questions.
Membase has a concept called buckets and another concept called vBuckets. A bucket is basically just a database and you are probably familiar with buckets from setting up your cluster. Each bucket has inside it 1024 active vBuckets and for each replica you specify a corresponding replica vBucket. Let look at a quick example, but to simplify things let's say Membase only has 6 vBuckets, we have a cluster with 2 servers, and a replication count of 1. Internally our vBucket configuration might look like this:
Server A:
vBucket 1 (active)
vBucket 2 (active)
vBucket 3 (active)
vBucket 4 (replica)
vBucket 5 (replica)
vBucket 6 (replica)
Server B:
vBucket 1 (replica)
vBucket 2 (replica)
vBucket 3 (replica)
vBucket 4 (active)
vBucket 5 (active)
vBucket 6 (active)
Next we will look at what happens when we add another server, but before I do I want to mention that there is no such thing as an active server and a replica server, only an active vBucket and a replica vBucket. Each server in a Membase cluster has some amount of active data. Here's what the cluster might look like after adding another server.
Server A:
vBucket 1 (active)
vBucket 2 (active)
vBucket 3 (replica)
vBucket 4 (replica)
Server B:
vBucket 3 (active)
vBucket 4 (active)
vBucket 5 (replica)
vBucket 6 (replica)
Server C:
vBucket 1 (replica)
vBucket 2 (replica)
vBucket 5 (active)
vBucket 6 (active)
So now let me answer your questions:
1. 10.253.191.211 is still part of the cluster. I'm not sure exactly how you figured that this server was the active server, but my guess is that you were looking at an individual vBucket that happened to be on that server and when you did the rebalance hat vBucket was moved to another server. 10.253.191.211 is still part of the cluster, but it probably just has less or different active vBuckets on it since there are now more servers.
2. As mentioned before there is no concept of an active and replica server, only active and replica vBuckets.
3. If you look at the example above, server C for example, vBucket 5 and 6 might have a larger amount of data than vBuckets 1 and 2 so this might be the difference you are seeing. All data is replicated somewhere in the cluster. If your replica count is 2 for example and you have a 3 node cluster then the data will be on each node. One server would have the active vBucket and the others would have a replica vBucket. And yes all OS's function the same way.
Let me know if you have any other questions.