Cassandra 安装说明(Docker)
步骤 1:使用 DOCKER 获取 CASSANDRA
Apache Cassandra 还可以作为 tarball 或包下载。
docker pull cassandra:latest
步骤 2:启动 CASSANDRA
Docker 网络允许我们访问容器的端口而无需在主机上公开它们。
docker network create cassandra
docker run --rm -d --name cassandra --hostname cassandra --network cassandra cassandra:latest
步骤 3:创建文件
Cassandra 查询语言 (CQL) 与 SQL 非常相似,但适合 Cassandra 的 JOINless 结构。
创建一个名为 data.cql 的文件,并将以下 CQL 脚本粘贴到其中。此脚本将创建一个键空间(Cassandra 复制其数据的层)、一个用于保存数据的表,并将一些数据插入该表:
-- 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 加载数据
CQL shell 或 cqlsh 是用于与数据库交互的工具之一。我们将使用它来使用您刚刚保存的脚本将一些数据加载到数据库中。
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 服务器本身(您运行的第一个 docker run 命令)需要几秒钟才能启动。如果服务器尚未完成其初始化序列,则上述命令将引发错误,因此请等待几秒钟才能启动。
步骤 5:交互式 CQLSH
与 SQL shell 非常相似,您当然也可以使用 CQLSH 以交互方式运行 CQL 命令。
docker run --rm -it --network cassandra nuvo/docker-cqlsh cqlsh cassandra 9042 --cqlversion='3.4.5'
这应该会给你一个像这样的提示:
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:读取一些数据
SELECT * FROM store.shopping_cart;
步骤 7:写入更多数据
INSERT INTO store.shopping_cart (userid, item_count) VALUES ('4567', 20);
步骤 8:清理
docker kill cassandra
docker network rm cassandra
作者:Jeebiz 创建时间:2024-06-17 16:17
最后编辑:Jeebiz 更新时间:2024-08-16 11:44
最后编辑:Jeebiz 更新时间:2024-08-16 11:44