Cassandra Database(六)Multinode Cluster
Cassandra Database(6)Multinode Cluster
On MAC system, we can do like this.
>sudo ifconfig lo0 alias 127.0.0.2 up
>sudo ifconfig lo0 alias 127.0.0.3 up
Then we have the IP 127.0.0.1, 127.0.0.2, 127.0.0.3
If I change the configuration file cassandra.yaml and want to start 3 nodes on my local machine. I got errors.
Error Message:
Port already in use: 7199
Solution:
Right now, I do not know the solution. Just go on and try CCM
>git clone https://github.com/pcmanus/ccm.git
That is cool, my local machine python version is 2.7.5.
sparkworker1:ccm carl$ python --version Python 2.7.5
>sudo easy_install pyYaml
>sudo ./setup.py install
>ccm help
>sudo ln -s /Users/carl/tool/ccm /opt/ccm
Create the Instance and Nodes
Tell ccm which version are we plan to use
>ccm create Test -v 2.0.4
Create a cluster named Test with version 2.0.4
Then create 3 nodes
>ccm populate -n 3
Start all the nodes
>ccm start
Then we have 3 nodes. We can connect as follow:
>cqlsh 127.0.0.3 9160
>ccm node1 ring Datacenter: datacenter1 ========== Address Rack Status State Load Owns Token 3074457345618258602 127.0.0.1 rack1 Up Normal 68.41 KB 66.67% -9223372036854775808 127.0.0.2 rack1 Up Normal 35.92 KB 66.67% -3074457345618258603 127.0.0.3 rack1 Up Normal 52.14 KB 66.67% 3074457345618258602
This is the method to add one more node
>ccm add node4 -i 127.0.0.4 -j 7400 -b
That is cool, we can use java library to connect to the cluster
val hosts = "127.0.0.1,127.0.0.2,127.0.0.3"
val nativePort = 9042 //9042, 9160
val keyspaceName = "books"
val columnFamilyName = "books"
val replicationStrategy = "SimpleStrategy"
val replicationFactor = 2
But from the document, ccm is only support local machine right now. So looking forward to see the future version.
>nodetool -host 127.0.0.1 -p 7100 status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Owns (effective) Host ID Token Rack UN 127.0.0.1 40.74 KB 66.7% 03e83bcf-d409-4ea8-ac0c-3be00451cc1c -9223372036854775808 rack1 UN 127.0.0.2 51.02 KB 66.7% 133165df-a23a-4768-a339-62e453bb862d -3074457345618258603 rack1 UN 127.0.0.3 67.24 KB 66.7% b1f7c514-a0b6-4266-8d1b-e89f4d13f43e 3074457345618258602 rack1
References:
http://wiki.apache.org/cassandra/GettingStarted