搭建安装环境
1)Deepin 15.8
2)JDK 1.8
3)Python
创建目录
#mkdir /usr/local/cassandra#Cassandra的安装目录
#mkdir /data/cassandra#
#mkdir /data/cassandra/commitlog#commitlog文件在磁盘总的存储位置
#mkdir /data/cassandra/data#cassandra的SSTabele文件在磁盘中的存储位置
#mkdir /data/cassandra/hints
#mkdir /data/cassandra/saved_caches#数据缓存文件在磁盘中的存储位置
下载Cassandra安装包并解压
http://cassandra.apache.org/ (cassandra apache官网地址)
http://www.datastax.com/ (cassandra发行商网站)
cd /usr/local/cassandra
wget http://archive.apache.org/dist/cassandra/3.7/apache-cassandra-3.7-bin.tar.gz
tar –zxvf apache-cassandra-3.7-bin.tar.gz
配置
cd apache-cassandra-3.7/conf/
vim cassandra.yaml #最主要的配置文件
需要修改的项目,相关路径修改为前面我们建的文件夹路径。
#集群名称,建议修改,以免冲突
cluster_name: 'Test Cluster'
#存储提示目录
hints_directory: /data/cassandra/hints
#SSTable文件在磁盘中的存储位置,可以有多个地址
data_file_directories:
- /data/cassandra/data
#commitlog文件在磁盘中的存储位置
commitlog_directory: /data/cassandra/commitlog
#保存表和行的缓存
saved_caches_directory: /data/cassandra/saved_caches
seed_provider
#Cassandra集群中的种子节点地址,可以设置多个,用半角逗号隔开,必须是ip
- seeds: "127.0.0.1"
#Cassandra集群中服务器与服务器之间相互通信的地址
listen_address: localhost
#是否开始thrift rpc服务器
start_rpc: true
#Cassandra服务器对外提供服务的地址 本机ip
rpc_address: localhost
#Cassandra服务器对外提供服务的端口号
rpc_port: 9160
启动和关闭Cassandra
启动
cd apache-cassandra-3.7/bin/
./cassandra -f -R #启动,-f表示前台启动,-R表示以管理员身份启动
连接Cassandra数据库
/cqlsh #进入数据库,类似于mysql 现在还没有配置身份验证 所以暂时不需要带上用户名密
退出数据库连接
quit
或者ctrl+D
关闭Cassandra
kill -9 pid
一些calsh命令
查看keyspace
desc keyspaces;
创建一个keysapce
CREATE KEYSPACE test
WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}
切换到test keyspace
use test;
查看keyspace中的表
desc tables;
创建表users
CREATE TABLE test.users (
userid int PRIMARY KEY,
fname text,
lname text
);
插入数据
insert into users (userid, fname, lname ) VALUES ( 1,'john','smith');
insert into users (userid, fname, lname ) VALUES ( 2,'john','tiger');
查询看看
select * from users;
查询结果
需要注意的是,如果要执行带where条件的查询,那么条件中指定的列必须先建索引,否则会出错:
创建索引
create index on users(lname);
创建好索引之后,再次执行上面的查询语句。
更多Cassandra命令我们下次再详细解读。
SpringBoot集成Cassandra
maven依赖
org.springframework.boot
spring-boot-starter-data-cassandra
com.datastax.cassandra
cassandra-driver-core
3.6.0
application.properties配置文件中添加如下配置
spring.data.cassandra.cluster-name=Test Cluster
spring.data.cassandra.keyspace-name= test
spring.data.cassandra.contact-points=127.0.0.1
spring.data.cassandra.port=9042
创建实体类
@Data//lombok注解
@Table("users")//Cassandra的表注解,value指定表名
publicclassUser{
@PrimaryKey
privateintuserid;
privateString fname;
privateString lname;
}
CassandraTemplate操作表
@Repository
publicclassUserDao{
@Autowired
privateCassandraTemplate template;
publicListgetAll(){
returntemplate.select("select * from users", User.class);
}
publicUserinsert(User user){
returntemplate.insert(user);
}
}
进行测试
@RestController
publicclassUserController{
@Autowired
privateUserDao userDao;
@RequestMapping("users")
publicListgetAll(){
returnuserDao.getAll();
}
@RequestMapping("add")
publicUsersave(){
User user =newUser();
user.setUserid(4);
user.setFname("鲸鱼");
user.setLname("吴");
returnuserDao.insert(user);
}
}
完。
网友评论