部署两节点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]
原因:集群节点间时间不同步
本文出自 “振翅的小宇宙” 博客,请务必保留此出处
,香港虚拟主机
