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

网友投稿 908 2022-12-03

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

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

目录1 简介2 三种方式访问2.1 cqlsh命令2.2 用IDEA连接2.3 通过java程序访问3 总结

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程序访问

引入依赖如下:

org.springframework.data

spring-data-cassandra

3.2.5&http://lt;/version>

准备实体类:

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 {

}

同时需要在配置类中加上:

@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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序的应用和开发(小程序的应用和开发的区别)
下一篇:MybatisX 快速开发插件过程详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~