使用Stargate访问K8ssandra的过程之Springboot整合Cassandra
作者:南瓜慢说 发布时间:2022-02-08 23:12:25
标签:Spring,boot,Cassandra,Stargate,K8ssandra
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


猜你喜欢
- 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Ap
- java的Console类的使用方法及实例JDK 6中提供了java.io.Console类专用来访问基于字符的控制台设备。如果你的Java
- Spring的HandlerMapping支持 * , * 必须实现HandlerInterceptor接口,此接口里面有下面3中方法:1.
- 代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率。也是程序代码可维护性的重要环节之一。所以我们不是为写注释
- 在Java中,泛型的引入是为了在编译时提供强类型检查和支持泛型编程。为了实现泛型,Java编译器应用类型擦除实现: &
- 1.例如下面的代码片段,Toast类的第一个参数接受一个Context对象:@Override protected Dialog onCr
- 本文实例讲述了基于私钥加密公钥解密的RSA算法C#实现方法,是一种应用十分广泛的算法。分享给大家供大家参考之用。具体方法如下:一、概述RSA
- 先附上图片上传的代码jsp代码如下:<form action="${path}/upload/uploadPic.do&qu
- 这篇文章主要介绍了配置springboot项目使用外部tomcat过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作
- 本文实例为大家分享了DatePicker日期滚动选择的使用,供大家参考,具体内容如下效果图为:1.dialog_date.xml:<?
- 实例如下://选择文件,点击【浏览】,选择文件 private void button1_Click(object sender, Even
- 前言本篇文章将教你作为一个.NET程序员如何快入门Spring Boot。你不需要用Eclipse,也不需要用IDEA。已经习惯了VS,其他
- 本文实例讲述了C#(asp.net)多线程用法。分享给大家供大家参考,具体如下:using System;using System.Coll
- 题目一:通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比
- 前言链表是一种数据结构,和数组同级。比如,Java中我们使用的ArrayList,其实现原理是数组。而LinkedList的实现原理就是链表
- 匿名类类型类可以是匿名的 - 也就是说,可以在没有 identifier 的情况下声明类。在将类名称替换为 typedef 名称时,这会很有
- 一、多表联合分页查询1.多表联合查询结果集建议使用VO类,当然也可以使用resultMappackage com.cjhx.tzld.ent
- 应用场景我们开发的控制台应用,在运行阶段很有可能被用户Ctrl+C终止或是被用户直接关闭。如果我们不希望用户通过Ctrl+C终止我们的程序,
- 本文实例讲述了Java使用原型模式展现每日生活。分享给大家供大家参考,具体如下:一、模式定义用原型实例指定创建对象的种类,并且通过复制这些原
- 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序