docker部署CASSANDRA全过程

 更新时间:2025年01月04日 09:16:42   作者:学亮编程手记  
本文介绍了如何使用Docker安装和运行Apache Cassandra,包括创建数据表、加载数据、以及进行交互式查询的基本步骤

docker部署CASSANDRA

步骤 1:使用 DOCKER 获取 CASSANDRA

您需要在计算机上安装 Docker Desktop for Mac、Docker Desktop for Windows 或类似软件。

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

步骤 3:创建文件

Cassandra 查询语言 (CQL) 与 SQL 非常相似,但适合 Cassandra 的无连接结构。

创建一个名为 data.cql 的文件,并将以下 CQL 脚本粘贴到其中。

此脚本将创建一个 keyspace(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

links:

Apache Cassandra | Apache Cassandra 文档 中文

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker中run、start和create命令的区别

    docker中run、start和create命令的区别

    对于 Docker 初学者来说,docker start、docker run 和 docker create 等术语可能会令人困惑,本文就来介绍一下docker中run、start和create命令的区别,感兴趣的可以了解一下
    2023-11-11
  • 使用minikube安装k8s单节点集群方式

    使用minikube安装k8s单节点集群方式

    本文主要介绍了minikube的使用方法,包括安装、启动、镜像管理等步骤,minikube是一个专注于让Kubernetes更易于学习和开发的本地Kubernetes环境,支持在macOS、Linux和Windows上快速设置本地Kubernetes集群
    2024-10-10
  • 尝试Docker+Nginx部署单页应用方法

    尝试Docker+Nginx部署单页应用方法

    这篇文章主要介绍了尝试Docker+Nginx部署单页应用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Docker容器网络地址的创建修改

    Docker容器网络地址的创建修改

    Docker提供了一个方便的方式来配置容器的网络地址,在本文中,我们将介绍如何修改Docker容器的网络地址,本文主要介绍了Docker容器网络地址的创建修改,感兴趣的可以了解一下
    2024-01-01
  • Docker容器时间与宿主机不一致/宿主机时间不同步校验问题

    Docker容器时间与宿主机不一致/宿主机时间不同步校验问题

    在Docker容器中,若未单独配置localtime,可能导致时间与宿主机不一致,例如UTC与CST(东八区)相差8小时,解决方法包括在启动时通过docker run添加时间参数,使用Dockerfile设置,或通过docker-compose配置,对于已运行的容器
    2024-10-10
  • docker文件存放路径, 获取容器启动命令操作

    docker文件存放路径, 获取容器启动命令操作

    这篇文章主要介绍了docker文件存放路径, 获取容器启动命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 详解Docker学习之用commit命令创建镜像

    详解Docker学习之用commit命令创建镜像

    这篇文章主要介绍了详解Docker学习之用commit命令创建镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Docker compose一键安装mirai搭建QQ机器人最快操作方法

    Docker compose一键安装mirai搭建QQ机器人最快操作方法

    这篇文章主要介绍了Docker compose一键安装mirai,搭建QQ机器人最快方法,详细介绍了mirai基本操作,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 如何封装自定义Docker镜像

    如何封装自定义Docker镜像

    这篇文章主要介绍了如何封装自定义Docker镜像问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Docker学习笔记之Weave实现跨主机容器互联

    Docker学习笔记之Weave实现跨主机容器互联

    这篇文章主要介绍了Docker学习笔记之Weave实现跨主机容器互联,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论