使用Stargate访问K8ssandra的过程之Springboot整合Cassandra
作者:南瓜慢说 时间:2022-02-08 23:12:25
1 简介
之前我们在文章《K8ssandra入门-详细记录在Linux上部署K8ssandra到Kubernetes》成功地在Ubuntu上安装了K8ssandra,现在我们来看看如何访问Cassandra。
K8ssandra的组件Stargate提供了多种方式的数据访问,对应端口如下:
8080:GraphQL interface
8081:REST Auth
8082:REST interface
9042:CQL service
我们使用最常用的9042端口,其它请参考官方文档。
2 三种方式访问
先暴露服务,然后找到对应的端口:
$ kubectl expose deployment k8ssandra-dc1-stargate --type=NodePort --name=stargate-out
$ kubectl get svc stargate-out
2.1 cqlsh命令
安装clqsh命令:
$ pip install cqlsh
连接数据库:
cqlsh -u k8ssandra-superuser -p YMEbXcPCW9xxxxxxx 127.0.0.1 30703
接着进行数据操作:
CREATE KEYSPACE pkslow WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
use pkslow;
CREATE TABLE users (username text primary key, password text, email text);
INSERT INTO users (username, password, email) values ('larry', 'larry123', 'larry@pkslow.com');
INSERT INTO users (username, password, email) values ('admin', '123456', 'admin@pkslow.com');
INSERT INTO users (username, password, email) values ('carol', '123456', 'carol@pkslow.com');
INSERT INTO users (username, password, email) values ('david', '123456', 'david@pkslow.com');
写入了数据后,我们查询看看:
2.2 用IDEA连接
配置数据库,选择Cassandra,连接信息如下:
接着就可以查看相关的数据了,如下:
2.3 通过Java程序访问
引入依赖如下:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
<version>3.2.5</version>
</dependency>
准备实体类:
package com.pkslow.springboot.cassandra.entity;
import org.springframework.data.annotation.Id;
import org.springframework.data.cassandra.core.mapping.Table;
@Table(value = "users")
public class User {
@Id
private String username;
private String password;
private String email;
}
Reposity类:
package com.pkslow.springboot.cassandra.repository;
import com.pkslow.springboot.cassandra.entity.User;
import org.springframework.data.cassandra.repository.CassandraRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends CassandraRepository<User, String> {
}
同时需要在配置类中加上:
@EnableCassandraRepositories(basePackages = "com.pkslow.springboot.cassandra.repository")
配置一下数据库连接属性:
server.port=8080spring.data.cassandra.contact-points=8.134.124.38:30703spring.data.cassandra.username=k8ssandra-superuserspring.data.cassandra.password=YMEbXcPCW9xrfxxxxxspring.data.cassandra.local-datacenter=dc1spring.data.cassandra.keyspace-name=pkslow
这样就基本可以了。
启动程序,访问测试如下:
3 总结
代码请查看:https://github.com/LarryDpk/pkslow-samples
来源:https://www.cnblogs.com/larrydpk/p/15362931.html
标签:Spring,boot,Cassandra,Stargate,K8ssandra
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
详解Java中Period类的使用方法
2023-11-28 21:04:44
springmvc前台向后台传值几种方式总结(从简单到复杂)
2023-04-13 22:20:50
SpringBoot整合freemarker实现代码生成器
2023-07-17 20:31:08
![](https://img.aspxhome.com/file/2023/5/57505_0s.jpg)
java文件上传下载代码实例
2023-11-10 05:06:14
C#中List集合使用Max()方法查找到最大值的实例
2023-12-01 08:03:32
Spring Boot 整合持久层之Spring Data JPA
2022-07-29 04:00:38
![](https://img.aspxhome.com/file/2023/9/62689_0s.png)
Java properties 和 yml 的区别解析
2023-04-01 22:28:09
![](https://img.aspxhome.com/file/2023/4/63014_0s.png)
Java线程的全方位详解
2023-04-11 14:02:55
![](https://img.aspxhome.com/file/2023/2/61042_0s.png)
超全MyBatis动态代理详解(绝对干货)
2023-11-14 02:28:19
![](https://img.aspxhome.com/file/2023/2/59082_0s.jpg)
Java语法中Lambda表达式无法抛出异常的解决
2022-10-13 01:04:43
SpringBoot 利用thymeleaf自定义错误页面
2023-11-29 08:29:55
![](https://img.aspxhome.com/file/2023/4/60054_0s.png)
SpringBoot中JPA实现Sort排序的三种方式小结
2022-02-12 23:35:12
java 实现文件复制和格式更改的实例
2023-10-21 08:07:49
详解Java变量与常量
2023-11-09 21:00:14
![](https://img.aspxhome.com/file/2023/5/59005_0s.png)
IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题(已解决)
2023-09-21 17:57:00
![](https://img.aspxhome.com/file/2023/1/60831_0s.png)
Java并发编程面试之线程池
2023-11-11 10:58:33
![](https://img.aspxhome.com/file/2023/4/58704_0s.png)
java学习DongTai被动型IAST工具部署过程
2023-06-21 09:43:03
![](https://img.aspxhome.com/file/2023/7/64397_0s.png)
关于eclipse中运行tomcat提示端口被占用的4种解决
2022-04-15 10:56:12
Java面向对象基础知识之封装,继承,多态和抽象
2022-11-18 07:35:59
Spring+SpringMVC+MyBatis深入学习及搭建(一)之MyBatis的基础知识
2021-09-27 15:12:59
![](https://img.aspxhome.com/file/2023/3/66503_0s.png)