在 Rocky Linux 9 中安装和配置 Cassandra

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

发布于

Cassandra 是一个分布式的、高可用的、可扩展的、无共享的数据库系统,它可以处理大量的结构化、半结构化和非结构化的数据。Cassandra 的主要特点是提供了一致性、可用性和分区容错性(CAP)的平衡,以及线性的扩展性和低延迟的性能。Cassandra 还支持多数据中心的复制,以及灵活的数据模型和丰富的查询语言。

本文的目的是介绍如何在 Rocky Linux 9 的系统上安装和配置 Cassandra,以及如何使用基本的命令操作 Cassandra 数据库。本文假设您已经有了一个运行 Rocky Linux 9 的服务器,并且具有 root 权限或 sudo 权限。

先决条件

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

  • 一个运行 Rocky Linux 9 的服务器,具有至少 4 GB 的内存和 50 GB 的磁盘空间
  • 一个可用的网络连接,以及一个合法的域名或 IP 地址
  • 一个已经安装了 Java 8 或更高版本的环境,您可以使用 java -version 命令来检查 Java 的版本
  • 一个已经安装了 wget 和 curl 的工具,您可以使用 wget --versioncurl --version 命令来检查工具的版本

安装 Cassandra

要在 Rocky Linux 9 上安装 Cassandra,您可以使用以下步骤:

步骤 1:添加 Cassandra 的官方仓库

Cassandra 的官方仓库提供了最新的稳定版本的 Cassandra 软件包,您可以使用以下命令来添加 Cassandra 的官方仓库:

sudo tee /etc/yum.repos.d/cassandra.repo <<EOF
[cassandra]
name=Apache Cassandra
baseurl=https://www.apache.org/dist/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.apache.org/dist/cassandra/KEYS
EOF

步骤 2:安装 Cassandra

使用以下命令来安装 Cassandra:

sudo dnf install cassandra -y

安装完成后,您可以使用以下命令来检查 Cassandra 的版本:

cassandra -v

您应该看到类似以下的输出:

3.11.11

步骤 3:启动和启用 Cassandra 服务

使用以下命令来启动 Cassandra 服务:

sudo systemctl start cassandra

使用以下命令来检查 Cassandra 服务的状态:

sudo systemctl status cassandra

您应该看到类似以下的输出:

● cassandra.service - LSB: distributed storage system for structured data
   Loaded: loaded (/etc/rc.d/init.d/cassandra; generated)
   Active: active (running) since Tue 2024-01-23 17:25:15 HKT; 2min 30s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1234 ExecStart=/etc/rc.d/init.d/cassandra start (code=exited, status=0/SUCCESS)
    Tasks: 31 (limit: 4915)
   Memory: 1.2G
   CGroup: /system.slice/cassandra.service
           └─2345 /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-2.el8_4.x86_64/bin/java -Xlog:gc*,gc+age=trace,safepoint:file=/var/log/cassandra/gc.log:time,uptimemillis:filecount=10,filesize=10M -XX:+UseG1GC -XX:G1RSetUpdatingPauseTimePercent=5 -XX:MaxGCPauseMillis=500 -Xms2G -Xmx2G
...

配置 Cassandra

在安装了 Cassandra 之后,您可能需要对 Cassandra 的配置文件进行一些修改,以适应您的需求。Cassandra 的主要配置文件是 /etc/cassandra/conf/cassandra.yaml,您可以使用您喜欢的文本编辑器来编辑它。以下是一些常见的配置选项:

  • cluster_name:这是您的 Cassandra 集群的名称,您可以根据您的喜好来修改它,但是请确保集群中的所有节点使用相同的名称
  • seeds:这是您的 Cassandra 集群中的种子节点的列表,种子节点是用来发现其他节点和协调集群的状态的节点,您可以指定一个或多个种子节点,用逗号分隔,例如 seeds: "192.168.1.1,192.168.1.2"
  • listen_address:这是您的 Cassandra 节点的监听地址,即该节点接受其他节点的连接请求的地址,您可以指定一个 IP 地址或者一个主机名,例如 listen_address: 192.168.1.1 或者 listen_address: node1.example.com
  • rpc_address:这是您的 Cassandra 节点的远程过程调用(RPC)地址,即该节点接受客户端的连接请求的地址,您可以指定一个 IP 地址或者一个主机名,例如 rpc_address: 192.168.1.1 或者 rpc_address: node1.example.com
  • broadcast_address:这是您的 Cassandra 节点的广播地址,即该节点向其他节点宣告自己的地址,您可以指定一个 IP 地址或者一个主机名,例如 broadcast_address: 192.168.1.1 或者 broadcast_address: node1.example.com
  • endpoint_snitch:这是您的 Cassandra 节点的端点探测器,即该节点用来确定其他节点的位置和距离的机制,您可以根据您的网络拓扑和数据中心的分布来选择合适的端点探测器,例如 endpoint_snitch: SimpleSnitch 或者 endpoint_snitch: GossipingPropertyFileSnitch
  • authenticator:这是您的 Cassandra 节点的身份验证器,即该节点用来验证客户端的身份的机制,您可以根据您的安全需求来选择合适的身份验证器,例如 authenticator: AllowAllAuthenticator 或者 authenticator: PasswordAuthenticator
  • authorizer:这是您的 Cassandra 节点的授权器,即该节点用来控制客户端的访问权限的机制,您可以根据您的安全需求来选择合适的授权器,例如 authorizer: AllowAllAuthorizer 或者 authorizer: CassandraAuthorizer

以上只是 Cassandra 配置文件中的一部分选项,您可以参考 Cassandra 文档 来了解更多的选项和含义。

在修改了 Cassandra 配置文件之后,您需要重启 Cassandra 服务来使配置生效,您可以使用以下命令来重启 Cassandra 服务:

sudo systemctl restart cassandra

操作 Cassandra

在安装和配置了 Cassandra 之后,您可以使用一些基本的命令来操作 Cassandra 数据库,以下是一些常用的命令:

  • nodetool:这是一个用来管理和监控 Cassandra 集群的命令行工具,您可以使用它来执行一些集群级别的操作,例如查看集群的状态、健康、性能等,您可以使用 nodetool help 命令来查看所有的可用的子命令和选项,例如 nodetool status 命令可以显示集群中的所有节点的信息
  • cqlsh:这是一个用来与 Cassandra 数据库交互的命令行工具,您可以使用它来执行一些数据库级别的操作,例如创建、修改、查询、删除数据等,您可以使用 cqlsh --help 命令来查看所有的可用的选项,例如 cqlsh -u cassandra -p cassandra 命令可以使用默认的用户名和密码来登录 Cassandra 数据库
  • cassandra-stress:这是一个用来对 Cassandra 数据库进行压力测试的命令行工具,您可以使用它来模拟一些真实的负载场景,例如读、写、混合等,您可以使用 cassandra-stress help 命令来查看所有的可用的子命令和选项,例如 cassandra-stress write n=1000000 cl=QUORUM 命令可以向 Cassandra 数据库写入 100 万条数据,并使用 QUORUM 一致性级别

以上只是 Cassandra 操作命令中的一部分,您可以参考 Cassandra 文档 来了解更多的命令和用法。

结论

本文介绍了如何在 Rocky Linux 9 的系统上安装和配置 Cassandra,以及如何使用基本的命令操作 Cassandra 数据库。您可以根据您的实际需求来调整 Cassandra 的配置和使用方式,以达到最佳的性能和效果。