hi !
As cassandra newbie, I am trying to convert my single node cluster to cluster
with two nodes with RF=2.
I have one node cluster , RF=1 all data accessible:
nodetool -h 192.168.3.8 ring
Address Status State Load Owns Token
192.168.3.8 Up Normal 1.59 GB 100.00%
150705614882854895881815284349323762700
Replication Strategy: org.apache.cassandra.locator.SimpleStrategy
Replication Factor: 1
If I switch to RF=2 here my cluster will refuse updates and reads. So I
bootstrap 2nd node (192.168.3.4) :
$ nodetool -h 192.168.3.8 ring
Address Status State Load Owns Token
150705614882854895881815284349323762700
192.168.3.4 Up Joining 120.94 KB 49.80%
65291865063116528976449321853009633660
192.168.3.8 Up Normal 1.59 GB 50.20%
150705614882854895881815284349323762700
question 1: Why in that point I am unable to read data from part of keys ?
Even when node is up:
nodetool -h 192.168.3.8 ring
Address Status State Load Owns Token
150705614882854895881815284349323762700
192.168.3.4 Up Normal 721.37 MB 49.80%
65291865063116528976449321853009633660
192.168.3.8 Up Normal 1.59 GB 50.20%
150705614882854895881815284349323762700
I am still unable to read part of my original set of data with
ConsistencyLevel.ONE (NotFoundException in pycassa) :/
question 2: Why is that ? And what should I do to have cluster with full data
?
Next I planned to do:
update keyspace with replication_factor=2;
repair both nodes,
and this point have fully working 2 node cluster with RF=2
question 3: Is this proper approach or there is better one ?
question 4: I hoped that during above operations I would be able to _read_
whole dataset as it was at beginning in one node cluster, is it possible ?
Thanks in advance for any answers, regards,
--
Mateusz Korniak