使用Stargate訪問K8ssandra的過程之Springboot整合Cassandra
1 簡介
之前我們在文章《K8ssandra入門-詳細(xì)記錄在Linux上部署K8ssandra到Kubernetes》成功地在Ubuntu上安裝了K8ssandra,現(xiàn)在我們來看看如何訪問Cassandra。
K8ssandra的組件Stargate提供了多種方式的數(shù)據(jù)訪問,對應(yīng)端口如下:
- 8080:GraphQL interface
- 8081:REST Auth
- 8082:REST interface
- 9042:CQL service
我們使用最常用的9042端口,其它請參考官方文檔。
2 三種方式訪問
先暴露服務(wù),然后找到對應(yīng)的端口:
$ kubectl expose deployment k8ssandra-dc1-stargate --type=NodePort --name=stargate-out $ kubectl get svc stargate-out
2.1 cqlsh命令
安裝clqsh命令:
$ pip install cqlsh
連接數(shù)據(jù)庫:
cqlsh -u k8ssandra-superuser -p YMEbXcPCW9xxxxxxx 127.0.0.1 30703
接著進(jìn)行數(shù)據(jù)操作:
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');
寫入了數(shù)據(jù)后,我們查詢看看:

2.2 用IDEA連接
配置數(shù)據(jù)庫,選擇Cassandra,連接信息如下:

接著就可以查看相關(guān)的數(shù)據(jù)了,如下:

2.3 通過Java程序訪問
引入依賴如下:
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-cassandra</artifactId> <version>3.2.5</version> </dependency>
準(zhǔn)備實體類:
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")
配置一下數(shù)據(jù)庫連接屬性:
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 總結(jié)
代碼請查看:https://github.com/LarryDpk/pkslow-samples
到此這篇關(guān)于使用Stargate訪問K8ssandra的過程之Springboot整合Cassandra的文章就介紹到這了,更多相關(guān)Springboot整合Cassandra內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java foreach循環(huán)是否可以修改數(shù)據(jù)的值問題解決方法
最近在做項目的時候,需要修改一個數(shù)組里面各個元素的值,foreach循環(huán)迭代數(shù)組元素時,不能改變數(shù)組元素的值,這篇文章給大家介紹Java foreach循環(huán)是否可以修改數(shù)據(jù)的值的問題及解決方法,感興趣的朋友一起看看吧2024-02-02
log4j2采用AsyncLogger出現(xiàn)的錯誤及解決方案
這篇文章主要介紹了log4j2采用AsyncLogger出現(xiàn)的錯誤及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Mybatis?plus多租戶方案的實戰(zhàn)踩坑記錄
MybaitsPlus多租戶處理器是一個對于多租戶問題的解決方案,下面這篇文章主要給大家介紹了關(guān)于Mybatis?plus多租戶方案踩坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12

