docker部署CASSANDRA全過程
docker部署CASSANDRA
步驟 1:使用 DOCKER 獲取 CASSANDRA
您需要在計(jì)算機(jī)上安裝 Docker Desktop for Mac、Docker Desktop for Windows 或類似軟件。
Apache Cassandra 也以 tarball 或軟件包的形式提供 下載。
docker pull cassandra:latest
步驟 2:啟動(dòng) CASSANDRA
Docker 網(wǎng)絡(luò)允許我們訪問容器的端口,而無需在主機(jī)上公開它們。
docker network create cassandra docker run --rm -d --name cassandra --hostname cassandra --network cassandra cassandra
步驟 3:創(chuàng)建文件
Cassandra 查詢語言 (CQL) 與 SQL 非常相似,但適合 Cassandra 的無連接結(jié)構(gòu)。
創(chuàng)建一個(gè)名為 data.cql 的文件,并將以下 CQL 腳本粘貼到其中。
此腳本將創(chuàng)建一個(gè) keyspace(Cassandra 在其中復(fù)制數(shù)據(jù)的層)、一個(gè)用于保存數(shù)據(jù)的表,并將一些數(shù)據(jù)插入該表
-- Create a keyspace
CREATE KEYSPACE IF NOT EXISTS store WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : '1' };
-- Create a table
CREATE TABLE IF NOT EXISTS store.shopping_cart (
userid text PRIMARY KEY,
item_count int,
last_update_timestamp timestamp
);
-- Insert some data
INSERT INTO store.shopping_cart
(userid, item_count, last_update_timestamp)
VALUES ('9876', 2, toTimeStamp(now()));
INSERT INTO store.shopping_cart
(userid, item_count, last_update_timestamp)
VALUES ('1234', 5, toTimeStamp(now()));步驟 4:使用 CQLSH 加載數(shù)據(jù)
CQL shell 或 cqlsh 是與數(shù)據(jù)庫交互的一種工具。
我們將使用它來使用您剛剛保存的腳本將一些數(shù)據(jù)加載到數(shù)據(jù)庫中。
docker run --rm --network cassandra -v "$(pwd)/data.cql:/scripts/data.cql" -e CQLSH_HOST=cassandra -e CQLSH_PORT=9042 -e CQLVERSION=3.4.6 nuvo/docker-cqlsh
注意:cassandra 服務(wù)器本身(您運(yùn)行的第一個(gè) docker run 命令)需要幾秒鐘才能啟動(dòng)。
如果服務(wù)器尚未完成其初始化序列,則上述命令將拋出錯(cuò)誤,因此請等待幾秒鐘以使其啟動(dòng)。
步驟 5:交互式 CQLSH
與 SQL shell 類似,您也可以使用 CQLSH 交互式地運(yùn)行 CQL 命令。
docker run --rm -it --network cassandra nuvo/docker-cqlsh cqlsh cassandra 9042 --cqlversion='3.4.5'
這應(yīng)該會(huì)為您提供如下提示
Connected to Test Cluster at cassandra:9042. [cqlsh 5.0.1 | Cassandra 4.0.4 | CQL spec 3.4.5 | Native protocol v5] Use HELP for help. cqlsh>
步驟 6:讀取一些數(shù)據(jù)
SELECT * FROM store.shopping_cart;
步驟 7:寫入更多數(shù)據(jù)
INSERT INTO store.shopping_cart (userid, item_count) VALUES ('4567', 20);步驟 8:清理
docker kill cassandra docker network rm cassandra
links:
Apache Cassandra | Apache Cassandra 文檔 中文
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Docker創(chuàng)建支持ssh服務(wù)的容器和鏡像
本篇文章主要介紹了詳解Docker創(chuàng)建支持ssh服務(wù)的容器和鏡像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
Docker卸載清除報(bào)錯(cuò)rm:Device or resource busy問題及解決
本文介紹了如何卸載已安裝的Docker,并解決了在刪除Docker數(shù)據(jù)目錄時(shí)遇到的Deviceorresourcebusy錯(cuò)誤,提出了解決方案,即取消掛載目錄或根據(jù)提示進(jìn)行操作2026-04-04
詳解Docker方式實(shí)現(xiàn)MySql 主從復(fù)制(實(shí)踐篇)
本篇文章主要介紹了詳解Docker方式實(shí)現(xiàn)MySql 主從復(fù)制(實(shí)踐篇),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
在Jenkins Docker容器中切換到root用戶并解決權(quán)限問題的完整指南
在使用Jenkins構(gòu)建和部署項(xiàng)目時(shí),可能會(huì)遇到一些操作需要root用戶權(quán)限,比如安裝軟件包、創(chuàng)建軟鏈接等,在Jenkins的Docker容器中,默認(rèn)是以非特權(quán)用戶運(yùn)行的,這意味著你可能會(huì)遇到權(quán)限不足的問題,本文將教你如何在Jenkins容器中切換到root用戶,需要的朋友可以參考下2025-08-08
Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件
本文主要介紹了Docker安裝RabbitMQ并安裝延時(shí)隊(duì)列插件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
docker容器設(shè)置時(shí)區(qū)的幾種方式小結(jié)
Docker的基礎(chǔ)鏡像設(shè)置大多是Etc/UTC,也就是標(biāo)準(zhǔn)的UTC 時(shí)間,所以要簡單的調(diào)整一下,本文主要介紹了docker容器設(shè)置時(shí)區(qū)的幾種方式小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
詳解在Docker容器內(nèi)外互相拷貝數(shù)據(jù)的方法
本篇文章主要介紹了詳解在Docker容器內(nèi)外互相拷貝數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03

