部署两节点cassandra集群

部署两节点cassandra集群

确保系统已安装jdk,可不配置JAVA环境变量

cassandra版本:apache-cassandra-1.1.5
jdk版本:jdk1.6.0_38

1、cassandra 日志路径
#vim log4j-server.properties
log4j.appender.R.File=/trs6/cassandra/logs/system.log

2、cassandra 内存使用 (HEAP_NEWSIZE)=1/4(MAX_HEAP_SIZE)
#vim cassandra-env.sh
MAX_HEAP_SIZE="4G"
HEAP_NEWSIZE="800M"

3、cassandra 集群配置
#vim cassandra.yaml
cluster_name: 'pis'    //集群名称
initial_token: 0    //由initial_token.py生成

#!/usr/bin/env python
import sys
if (len(sys.argv) > 1):
        num=int(sys.argv[1])
else:
        num=int(raw_input("How many nodes are in your cluster? "))
for i in range(0, num):
        print 'node %d: %d' % (i, (i*(2**127)/num))

data_file_directories:
    - /trs6/cassandra/data    //data存储目录
commitlog_directory: /trs6/cassandra/commitlog     //commit日志目录
saved_caches_directory: /trs6/cassandra/saved_cache  //cache存储目录
- seeds: "192.168.183.71,192.168.183.72"     //种子节点IP
listen_address: 192.168.183.71    //监听地址->本机IP
rpc_address: 192.168.183.71
endpoint_snitch: SimpleSnitch

4、启动集群
#bin/cassandra

5、查看集群状态
#bin/nodetool -h 192.168.183.71 ring

Address         DC          Rack        Status State   Load            Effective-Ownership Token                                       
                                                                                           85070591730234615865843651857942052864      
192.168.183.71  datacenter1 rack1       Up     Normal  23.61 KB        50.00%              0                                           
192.168.183.72  datacenter1 rack1       Up     Normal  23.61 KB        50.00%              85070591730234615865843651857942052864

6、交互式命令行 (分号结尾)
[root@cas1 ~]# bin/cassandra-cli -h 192.168.183.71
Connected to: "pis" on 192.168.183.71/9160
Welcome to Cassandra CLI version 1.1.5

Type 'help;' or '?' for help.
Type 'quit;' or 'exit;' to quit.

(1)创建keyspace
[default@unknown] create keyspace DEMO;
5210d4ac-24e2-37e1-8d38-13a3cab24f33
Waiting for schema agreement...
... schemas agree across the cluster
(2)认证使用keyspace
[default@unknown] use DEMO;
Authenticated to keyspace: DEMO
(3)创建column family
[default@DEMO] create column family Users                
... with key_validation_class = 'UTF8Type'    
... and comparator = 'UTF8Type'               
... and default_validation_class = 'UTF8Type';
8618bf72-4e3d-3b7c-84f6-031e69e7d161
Waiting for schema agreement...
... schemas agree across the cluster
(4)存储数据到column family
[default@DEMO] set Users[1234][name] = tianxin;
Value inserted.
Elapsed time: 87 msec(s).
[default@DEMO] set Users[1234][password] = upgirl; 
Value inserted.
Elapsed time: 28 msec(s).
(5)获取数据
[default@DEMO] get Users[1234];
=> (column=name, value=tianxin, timestamp=1362521480914000)
=> (column=password, value=upgirl, timestamp=1362521498155000)
Returned 2 results.
Elapsed time: 131 msec(s).


遇到的问题:
1、启动cassandra时,报错 Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: cas1: cas1
原因:集群节点必须配置主机名的解析


2、创建keyspace时,报错 The schema has not settled in 10 seconds; further migrations are ill-advised until it does.
Versions are e71db6f5-eb85-3555-b851-1878497cf194:[198.216.27.72],eceb06f2-03a1-3bf8-a421-2528a053d7e6:[198.216.27.71]
原因:集群节点间时间不同步

你可能感兴趣的:(cassandra)