使用Stargate訪問K8ssandra的過程之Springboot整合Cassandra
1 簡介
之前我們在文章《K8ssandra入門-詳細記錄在Linux上部署K8ssandra到Kubernetes》成功地在Ubuntu上安裝了K8ssandra,現(xiàn)在我們來看看如何訪問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內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis-plus update更新操作的三種方式(小結)
本文主要介紹了mybatis-plus update更新操作的三種方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10Java:com.netflix.client.ClientException錯誤解決
本文主要介紹了Java:com.netflix.client.ClientException錯誤解決,主要是指出客戶端?module-sso?試圖通過負載均衡器訪問服務時,負載均衡器沒有找到可用的服務器來處理請求,下面就來介紹一下解決方法2024-08-08