1 下载安装包

     http://www.planetcassandra.org/cassandra/?dlink=http://downloads.datastax.com/community/dsc-cassandra-2.1.5-bin.tar.gz

     用tar包的形式安装,解压缩之后就可以用;选择2.1.5,因为golang 客户端gocql的git 首页上支持最新的是2.1.5版本; 

2 解压缩后修改相应的配置;

     修改tar中conf目录下的cassandra.yaml 中的相关配置;

     (1)修改 cluster_name 为自己想要的cluster的名字,对于同一个集群中的所有node这一项的配置要相同的;

     (2)data_file_directories, canssandra数据文件存放的位置。

     (3)commitlog_directory,commitlog存放的位置;cassandra 为了数据恢复,也是采用先写log,再写数据(内存或磁盘)的方式;

     (4)listen_address,注释掉,或者写上本机的内网地址或外网地址,cassandra之间是采用gossip协议来进行一致性校验的,每个节点都可以和其他节点通信,这里就是每个节点对其他节点提供的访问地址;

     (5)rpc_address, 写上本机的外网地址,这个是本机对外提供的rpc接口;

     (6)seeds,任意选取集群中比较稳定的几个节点的ip地址写在里面,这一项还是和gossip协议有关,集群在开始启动的时候并不知道系统中其他节点的情况,要通过这个seeds的配置作为桥梁,最终达到集群中的每一个节点都知道其余所有节点的情况的效果;

3 启动cassandra服务

     (1)配置好之后,直接运行bin/cassandra,启动cassandra;如果没有error之类的信息,说明已经成功了;默认值后台运行,如果想前台运行,可以用bin/cassandra -f

     (2)依次将2中的修改同步到所有的cassandra实例,并且启动;一个集群就安装完成了。

     (3)可以使用 bin/nodetool status 来查看一下,你的集群是否安装完成;

     (4)可以使用bin/cqlsh 来使用cassandra的命令,cqlsh是一个命令行形式的客户端; 

4 设置用户名、密码 

    (1) 默认情况下是没有用户名密码验证的,需要在conf/cassandra.yaml中进行一定的配置,

              将authenticator: AllowAllAuthenticator 改为 authenticator: PasswordAuthenticator

              将authorizer: AllowAllAuthorizer 改为 authorizer: CassandraAuthorizer  

              然后要重启各个node,

    (2)cassandra 有一个默认的superuser,用户名是cassandra,密码也是cassandra, 使用

             bin/cqlsh <ip> -u cassandra -p cassandra 登陆;

             首先建立一个新的superuser

             CREATE USER username WITH PASSWORD 'password' SUPERUSER;

             然后退出来用新的superuser用户名和密码 登陆cqlsh,修改默认的cassandra的密码,并将cassandra降级为非superuser

             ALTER USER cassandra WITH PASSWORD 'newpassword' NOSUPERUSER ;

            可以使用list users;命令到各个node上去验证一下用户名密码的修改是否生效;

5 golang客户端安装

            在FQ的前提下,运行go get github.com/gocql/gocql