解壓cassandra的安裝包后可以查看主要的配置文件,都在conf/目錄下,conf/cassandra.yaml比較重要,其中需要着重注意的有以下一些配置項:
cluster_name: 'TC01' num_tokens: 256 seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: - seeds: "192.168.2.103" listen_address: 192.168.2.103 rpc_address: 192.168.2.103 endpoint_snitch: SimpleSnitch
cluster_name一定要修改,免得用默認的“Test Cluster”和他人沖突,所有有顯示ip的地方都需要注意並修改,將127.0.0.1和localhost改為你的對外訪問的ip,比如我的局域網ip就是192.168.2.103。
啟動cassandra,
XXXXX@XXXXX-asus:~/apache-cassandra-2.0.6$ cd bin/ XXXXX@XXXXX-asus:~/apache-cassandra-2.0.6/bin$ ./cassandra -f
現在cassandra已經啟動了節點1,節點2在一台虛擬機上(ip:192.168.2.102),其配置與節點1非常類似,要改動配置里面的seeds那一項的ip為節點1的ip
cluster_name: 'TC01'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "192.168.2.103"
listen_address: 192.168.2.102
rpc_address: 192.168.2.102
endpoint_snitch: SimpleSnitch
以同樣的方式啟動節點2,就可以在節點1中看到節點2已經加入到集群。此時,節點1的log中可以看到以下信息
WARN 17:36:15,477 Gossip stage has 1 pending tasks; skipping status check (no nodes will be marked down)
INFO 17:36:16,358 Handshaking version with /192.168.2.102
INFO 17:36:17,999 Node /192.168.2.102 is now part of the cluster
INFO 17:36:18,496 Handshaking version with /192.168.2.102
INFO 17:36:18,727 InetAddress /192.168.2.102 is now UP
INFO 17:36:53,523 [Stream #24d92630-c2ef-11e3-9d13-81bcfc870408] Received streaming plan for Bootstrap
INFO 17:36:54,336 [Stream #24d92630-c2ef-11e3-9d13-81bcfc870408] Session with /192.168.2.102 is complete
INFO 17:36:54,586 [Stream #24d92630-c2ef-11e3-9d13-81bcfc870408] All sessions completed
如果用nodetool來看,可以看到以下信息
XXXXX@XXXXX-asus:~/apache-cassandra-2.0.6/bin$ ./nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 192.168.2.102 54.74 KB 256 100.0% 00782976-b020-43a7-8fa5-b7dee95e6f1e rack1 UN 192.168.2.103 45.75 KB 256 100.0% 80a96105-819a-40f2-ac7c-489285017de1 rack1
很清楚的可以看到2個節點全部在線。
然后
./cassandra-cli -h 192.168.2.103 -p 9160
就可以去操作集群數據了!