在 CentOS Stream 9 中安装和配置 Cassandra

本文的目的是介绍如何在 CentOS Stream 9 的系统上安装和配置 Cassandra,以及如何使用基本的命令来操作 Cassandra 数据库。

发布于

Cassandra 是一个分布式的 NoSQL 数据库,它可以提供高可用性、高性能和高扩展性的数据存储服务。Cassandra 的主要特点是使用一致性哈希算法来分配数据到不同的节点,以及使用异步复制和最终一致性模型来保证数据的一致性。Cassandra 还支持多数据中心的部署,以及对 JSON、CQL 和 Java 等多种语言的接口。

本文的目的是介绍如何在 CentOS Stream 9 的系统上安装和配置 Cassandra,以及如何使用基本的命令来操作 Cassandra 数据库。

先决条件

在开始安装和配置 Cassandra 之前,您需要准备以下内容:

  • 一台或多台运行 CentOS Stream 9 的服务器,每台服务器至少有 4 GB 的内存和 50 GB 的磁盘空间。
  • 每台服务器都能够通过网络互相访问,以及访问互联网。
  • 每台服务器都已经安装了 Java 8 或更高版本的 JDK,并设置了正确的 JAVA_HOME 环境变量。
  • 每台服务器都已经安装了 wget 和 tar 工具,用于下载和解压 Cassandra 的安装包。

下载和解压 Cassandra

在每台服务器上,执行以下命令来下载 Cassandra 的最新版本(目前为 4.0.1)的安装包,并解压到 /opt 目录下:

wget https://downloads.apache.org/cassandra/4.0.1/apache-cassandra-4.0.1-bin.tar.gz
sudo tar -xzf apache-cassandra-4.0.1-bin.tar.gz -C /opt

然后,创建一个软链接,指向 Cassandra 的安装目录,以便于后续的操作:

sudo ln -s /opt/apache-cassandra-4.0.1 /opt/cassandra

配置 Cassandra

在每台服务器上,进入 Cassandra 的配置目录:

cd /opt/cassandra/conf

然后,编辑 cassandra.yaml 文件,修改以下参数:

  • cluster_name:设置为您想要的集群名称,例如 “My Cassandra Cluster”。注意,所有节点必须使用相同的集群名称。
  • seeds:设置为您选择的种子节点的 IP 地址,用逗号分隔。种子节点是用于发现其他节点和协调集群的节点,通常选择每个数据中心的一两个节点作为种子节点。例如,如果您有三个节点,分别是 192.168.1.1,192.168.1.2 和 192.168.1.3,您可以将 192.168.1.1 和 192.168.1.2 作为种子节点,那么 seeds 参数的值为 “192.168.1.1,192.168.1.2”。
  • listen_address:设置为当前节点的 IP 地址,用于与其他节点通信。例如,如果当前节点的 IP 地址是 192.168.1.1,那么 listen_address 参数的值为 “192.168.1.1”。
  • rpc_address:设置为当前节点的 IP 地址,用于与客户端通信。例如,如果当前节点的 IP 地址是 192.168.1.1,那么 rpc_address 参数的值为 “192.168.1.1”。
  • endpoint_snitch:设置为您使用的数据中心和机架感知的策略,用于优化数据的复制和读取。如果您的集群只有一个数据中心,您可以使用 “SimpleSnitch”。如果您的集群有多个数据中心,您可以使用 “GossipingPropertyFileSnitch”,并编辑 cassandra-rackdc.properties 文件,设置每个节点所属的数据中心和机架的名称。例如,如果当前节点属于数据中心 DC1 和机架 RAC1,那么 cassandra-rackdc.properties 文件中的内容为:
dc=DC1
rack=RAC1

其他参数可以保持默认值,或根据您的需求进行调整。更多关于 Cassandra 配置的信息,您可以参考 Cassandra 文档

启动 Cassandra

在每台服务器上,执行以下命令来启动 Cassandra:

sudo /opt/cassandra/bin/cassandra

您可以使用以下命令来检查 Cassandra 的运行状态:

sudo /opt/cassandra/bin/nodetool status

如果您看到类似以下的输出,说明 Cassandra 已经成功启动,并且所有节点都加入了集群:

Datacenter: DC1
================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address     Load       Tokens       Owns    Host ID                               Rack
UN  192.168.1.1  223.24 KiB  16           ?       3c5e8f0d-8f8a-4f18-9cda-9b6f2f9f5f0f  RAC1
UN  192.168.1.2  223.24 KiB  16           ?       8c6f3f0d-8f8a-4f18-9cda-9b6f2f9f5f0f  RAC1
UN  192.168.1.3  223.24 KiB  16           ?       9c7f3f0d-8f8a-4f18-9cda-9b6f2f9f5f0f  RAC1

操作 Cassandra

您可以使用以下命令来操作 Cassandra 数据库:

  • 启动 Cassandra:sudo /opt/cassandra/bin/cassandra
  • 停止 Cassandra:sudo pkill -f CassandraDaemon
  • 重启 Cassandra:sudo pkill -f CassandraDaemon && sudo /opt/cassandra/bin/cassandra
  • 加载配置:sudo /opt/cassandra/bin/cassandra -f
  • 登录 Cassandra:/opt/cassandra/bin/cqlsh
  • 退出 Cassandra:exit

您可以使用 CQL(Cassandra Query Language)来创建和管理数据。CQL 的语法类似于 SQL,但有一些区别。您可以参考 CQL 文档 来了解更多关于 CQL 的信息。

结论

本文介绍了如何在 CentOS Stream 9 的系统上安装和配置 Cassandra,以及如何使用基本的命令来操作 Cassandra 数据库。您可以根据本文的内容,快速地搭建一个 Cassandra 的集群,并开始使用 Cassandra 来存储和处理您的数据。