Database Reference
In-Depth Information
DEBUG 10:47:29,345 Streaming 239 length file /var/lib/cassandra/data/Keyspace1/
stream/Standard2-2-Data.db ...
DEBUG 10:47:29,347 Bytes transferred 239
DEBUG 10:47:29,347 Done streaming /var/lib/cassandra/data/Keyspace1/stream/
Standard2-2-Data.db
DEBUG 10:47:29,389 Running on default stage
DEBUG 10:47:29,390 Deleting file /var/lib/cassandra/data/Keyspace1/stream/
Standard2-2-Data.db after streaming
239/619 bytes.
DEBUG 10:47:29,390 Signalling that streaming is done for /192.168.1.7
INFO 10:47:29,390 Done with transfer to /192.168.1.7
DEBUG 10:47:29,391 stream acks all received.
DEBUG 10:47:29,392 No bootstrapping or leaving nodes -> empty pending ranges
for Keyspace1
DEBUG 10:48:59,322 Disseminating load info ...
DEBUG 10:49:01,406 Processing response on a callback from 191997@/192.168.1.7
INFO 10:49:01,406 New token will be 134439585115453215112331952664863163581 to
assume load from /192.168.1.7
INFO 10:49:01,407 re-bootstrapping to new token
134439585115453215112331952664863163581
INFO 10:49:01,407 Joining: sleeping 30000 for pending range setup
INFO 10:49:31,408 Bootstrapping
DEBUG 10:49:31,408 Beginning bootstrap process
DEBUG 10:49:31,413 Added /192.168.1.7/Keyspace1 as a bootstrap source
DEBUG 10:49:31,414 Requesting from /192.168.1.7 ranges
(41654880048427970483049687892424207188,134439585115453215112331952664863163581]
DEBUG 10:49:32,097 Running on default stage
DEBUG 10:49:32,098 StreamInitiateVerbeHandler.doVerb STREAM_INITIATE 10579
Let's look a little more closely at the steps Cassandra goes through to achieve the load balancing.
We see several things happen in this output. First, Cassandra inspects the cluster nodes available
and the token ranges on each. It then creates a list of the database files on the 1.5 server that
need to be streamed. Because the Standard2 column family has data, it will move its Index,
Data, and Filter file values to another node (in this case, the 1.7 node). The 1.5 node then sends
a stream initiate message to the 1.7 node to indicate that it's going to start streaming its data
to that node. The bytes are then transferred, and once 1.7 acknowledges receipt of the data, the
local files are deleted from 1.5 and the server is decommissioned for a moment. Immediately,
the 1.5 node returns, and gossip indicates to the cluster that it's available to start receiving data.
New range tokens are assigned, and the 1.5 node starts assuming some of the load from the 1.7
server.
If we now execute Nodetool with the ring argument, we see that new ranges have been assigned
to the nodes, and they both have roughly the same amount of data:
Search WWH ::




Custom Search