返回顶部
首页 > 资讯 > 后端开发 > Python >使用Stargate访问K8ssandra的过程之Springboot整合Cassandra
  • 164
分享到

使用Stargate访问K8ssandra的过程之Springboot整合Cassandra

2024-04-02 19:04:59 164人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1 简介2 三种方式访问2.1 cqlsh命令2.2 用idea连接2.3 通过Java程序访问3 总结1 简介 之前我们在文章《k8ssandra入门-详细记录在linux上部

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

到此这篇关于使用Stargate访问K8ssandra的过程之Springboot整合Cassandra的文章就介绍到这了,更多相关Springboot整合Cassandra内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用Stargate访问K8ssandra的过程之Springboot整合Cassandra

本文链接: https://lsjlt.com/news/137360.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作