docker部署CASSANDRA全過程
docker部署CASSANDRA
步驟 1:使用 DOCKER 獲取 CASSANDRA
您需要在計算機(jī)上安裝 Docker Desktop for Mac、Docker Desktop for Windows 或類似軟件。
Apache Cassandra 也以 tarball 或軟件包的形式提供 下載。
docker pull cassandra:latest
步驟 2:啟動 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)建一個名為 data.cql 的文件,并將以下 CQL 腳本粘貼到其中。
此腳本將創(chuàng)建一個 keyspace(Cassandra 在其中復(fù)制數(shù)據(jù)的層)、一個用于保存數(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)行的第一個 docker run 命令)需要幾秒鐘才能啟動。
如果服務(wù)器尚未完成其初始化序列,則上述命令將拋出錯誤,因此請等待幾秒鐘以使其啟動。
步驟 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)該會為您提供如下提示
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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟
這篇文章主要給大家介紹了關(guān)于如何利用Docker搭建Laravel開發(fā)環(huán)境的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Docker學(xué)習(xí)之常用的基礎(chǔ)命令總結(jié)
這篇文章給大家整理了一些Docker常用的基礎(chǔ)命令,對大家日常使用Docker還是很有幫助,通過這些命令可以有效的提高大家的工作效率,有需要的朋友們下面來一起看看吧。2016-10-10docker+nextcloud搭建個人云存儲系統(tǒng)的實現(xiàn)
這篇文章主要介紹了docker+nextcloud搭建個人云存儲系統(tǒng)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Docker 解決容器時間與主機(jī)時間不一致的問題三種解決方案
這篇文章主要介紹了Docker 解決容器時間與主機(jī)時間不一致的問題的相關(guān)資料,這里提供了三種方法,供大家參考,需要的朋友可以參考下2016-12-12