1 下载安装包
用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