cassandra是由java写的,所以需要安装openjdk
如果客户端程序使用cassandra,可以用facebook的thrift这个高性能二进制中间件。
假设有两个客户端:
10.1.1.11/24和10.1.1/12/24
解压之后,创建文件夹,并使之可以被当前用户访问(chown -R)
mkdir -p /var/log/cassandra mkdir -p /var/lib/cassandra
编辑conf/cassandra.yaml文件
seed_provider: # Addresses of hosts that are deemed contact points. # Cassandra nodes use this list of hosts to find each other and learn # the topology of the ring. You must change this if you are running # multiple nodes! - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: # seeds is actually a comma-delimited list of addresses. # Ex: ", , " - seeds: "127.0.0.1, 10.1.1.11, 10.1.1.12" #这里写上性能比较稳定的seed服务器 listen_address: 10.1.1.12 #可以空着,表示本机IP地址 rpc_address: 0.0.0.0 #允许任何地址的程序前来访问本数据库
这里没有硬性规定seed应该是谁。普通cassandra启动的时候都会先去连接seed,看看有其它node是否存活
之后可以启动cassandra
cassandra -f
查看一下集群的状态
bin/nodetool -host 10.1.1.11 -p 7199 ring
使用客户端访问cassandra集群
bin/cassandra-cli -h 127.0.0.1 -p 9160
创建一个简单的keyspace并添加数据,查看数据
[default@unknown] create keyspace Keyspace1; ece86bde-dc55-11df-8240-e700f669bcfc [default@unknown] use Keyspace1; Authenticated to keyspace: Keyspace1 [default@Keyspace1] create column family Users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type; 737c7a71-dc56-11df-8240-e700f669bcfc [default@KS1] set Users[jsmith][first] = 'John'; Value inserted. [default@KS1] set Users[jsmith][last] = 'Smith'; Value inserted. [default@KS1] set Users[jsmith][age] = long(42); Value inserted. [default@KS1] get Users[jsmith];
至此简单集群搭建成功,详细就翻翻apache cassandra的文档吧。