如何在 Rocky Linux 9/8 上安装 Apache Cassandra

Apache Cassandra 是一种高度可扩展、高性能的分布式数据库,旨在处理多台商用服务器中的大量数据,提供高可用性且无单点故障。它以对跨多个数据中心的集群的强大支持而闻名,异步无主复制可实现低延迟和操作简便性。Cassandra 非常适合需要高写入吞吐量、容错能力和线性可扩展性的应用程序。

以下指南将演示使用命令行命令在 Rocky Linux 9 或 8 上安装 Apache Cassandra 的步骤。此过程涉及设置适当的存储库并配置系统,以确保分布式数据库环境的最佳性能和可靠性。

在安装 Apache Cassandra 之前更新 Rocky Linux 系统

首先,在安装 Apache Cassandra 之前,最好确保所有系统包都是最新的,以避免在安装 NoSQL 数据库时出现任何潜在问题。

在您的终端中,运行以下命令并升级任何未完成的软件包。

sudo dnf upgrade --refresh

导入 Apache Cassandra 存储库

第一步涉及导入 Apache Cassandra 的存储库。幸运的是,您可以使用单个命令完成此操作。本教程将展示如何导入 5.0、4.0 或 4.1 分支。由于 3.xx 分支即将结束,本教程将不包含添加这些分支的说明。

4.0 Apache Cassandra RPM 导入

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

4.1 Apache Cassandra RPM 导入

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

5.0 Apache Cassandra RPM 导入

sudo tee /etc/yum.repos.d/cassandra-5.0.alpha.repo<<EOF
[cassandra]
name=Apache Cassandra 5.0
baseurl=https://redhat.cassandra.apache.org/50x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

通过 DNF 命令安装 Apache Cassandra

您可以使用以下命令安装 Cassandra;存储库已导入。

sudo dnf install cassandra -y

通过运行以下命令确认安装的版本。

cassandra -v

请注意,如果您在导入 GPG 密钥时看到以下错误。

Key import failed (code 2). Failing package is: cassandra-4.1~alpha1-1.noarch
 GPG Keys are configured as: https://www.apache.org/dist/cassandra/KEYS
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.

更改加密策略并将策略设置为 LEGACY。

sudo update-crypto-policies --set LEGACY

有时,您可能需要重新启动才能成功完成此更改。我发现您不需要这样做,但建议这样做。

reboot

创建 Apache Cassandra Systemd 服务

安装完成后,您需要创建 systemd 服务。同样,这是一项简单的任务;复制并粘贴以下命令来创建文件。

sudo tee /etc/systemd/system/cassandra.service<<EOF
[Unit]
Description=Apache Cassandra
After=network.target

[Service]
Type=simple
PIDFile=/var/run/cassandra/cassandra.pid
User=cassandra
Group=cassandra

ExecStart=/usr/sbin/cassandra -f -p /var/run/cassandra/cassandra.pid
Restart=always

[Install]
WantedBy=multi-user.target
EOF

您必须重新加载守护程序才能开始使用 Cassandra 服务,并且您不能跳过此步骤。

sudo systemctl daemon-reload

现在,启动 Cassandra 服务。

sudo systemctl start cassandra

接下来,检查 Cassandra 的 systemctl 状态以确保没有错误。

systemctl status cassandra

您可以选择在启动计算机或服务器时使用以下命令启用 Cassandra 服务自动启动。

sudo systemctl enable cassandra

在 Rocky Linux 上安装 Apache Cassandra 客户端 (cqlsh)

安装 Python

在安装 Cassandra 客户端之前,请确保您的系统上可以使用 Python。Apache Cassandra 的客户端 cqlsh是基于 Python 的,因此 Python 是先决条件。通过执行以下命令在 Rocky Linux 上安装 Python:

sudo dnf install python3 -y

安装 PIP

接下来,安装 Python 的包管理器 PIP,用于管理 Python 包。PIP 对于安装 Cassandra Python 驱动程序至关重要。如果您的系统上尚未安装 PIP,请通过运行以下命令添加它:

sudo dnf install python3-pip -y

安装 Cassandra Python 驱动程序

Cassandra Python 驱动程序对于 cqlsh 连接到 Cassandra 数据库。此驱动程序启用客户端和数据库之间的通信。使用以下命令使用 PIP 安装驱动程序:

pip install cassandra-driver

安装 cqlsh

满足先决条件后,您现在可以安装了 cqlsh。此命令行界面允许与 Apache Cassandra 交互,使您能够执行查询和管理数据库。安装 cqlsh 通过执行:

pip install cqlsh

最后,使用以下命令连接 cqlsh。

cqlsh

成功连接的示例输出:

[cqlsh 6.1.0 | Cassandra 4.1-alpha1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh> 

配置 Apache Cassandra

设置和个性化 Cassandra 需要更改其配置文件并利用某些命令行实用程序。

设置基本配置

Cassandra 的主要配置文件位于 /etc/cassandra。同时,日志和数据目录通常位于 /var/log/cassandra/var/lib/cassandra 分别。

对于 JVM 级别的调整(例如堆大小),您可以查看 /etc/cassandra/conf/cassandra-env.sh 文件。在此文件中,您可以向 JVM_OPTS Cassandra 在启动时读取的变量。

使用 Apache Cassandra 启用用户身份验证

在激活用户身份验证之前,最好先备份 /etc/cassandra/conf/cassandra.yaml 文件:

sudo cp /etc/cassandra/conf/cassandra.yaml /etc/cassandra/conf/cassandra.yaml.backup

随后,打开 cassandra.yaml 文件:

sudo nano /etc/cassandra/conf/cassandra.yaml

在文件中,您需要搜索并修改以下参数:

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
roles_validity_in_ms: 0
permissions_validity_in_ms: 0

根据您的需要调整其他设置,如果它们被注释掉,请确保取消注释。保存文件即可完成编辑过程。

之后,重新启动 Cassandra 以应用您的修改:

sudo systemctl restart cassandra

为 Apache Cassandra 添加管理超级用户

现在身份验证已激活,配置用户至关重要。使用 Cassandra 命令 shell 实用程序,使用默认用户凭据登录:

cqlsh -u cassandra -p cassandra

通过替换来启动新的超级用户 [username][yourpassword] 您的具体信息:

CREATE ROLE [username] WITH PASSWORD = '[yourpassword]' AND SUPERUSER = true AND LOGIN = true;

之后,退出并使用新的超级用户详细信息重新登录:

cqlsh -u username -p yourpassword

减少默认 Cassandra 帐户的提升权限:

ALTER ROLE cassandra WITH PASSWORD = 'cassandra' AND SUPERUSER = false AND LOGIN = false;
REVOKE ALL PERMISSIONS ON ALL KEYSPACES FROM cassandra;

并授予超级用户完全权限:

GRANT ALL PERMISSIONS ON ALL KEYSPACES TO '[username]';

通过退出来结束本节。

自定义控制台配置

Cassandra Shell 可以根据您的需求进行定制。它从 cqlshrc 文件位于 ~/.cassandra 目录。提供对可能设置的见解的示例文件位于 /etc/cassandra/conf/cqlshrc.sample.

首先复制此示例文件:

sudo cp /etc/cassandra/conf/cqlshrc.sample ~/.cassandra/cqlshrc

调整 cqlshrc 文件的权限:

sudo chmod 600 ~/.cassandra/cqlshrc
sudo chown $USER:$USER ~/.cassandra/cqlshrc

打开它进行编辑:

nano ~/.cassandra/cqlshrc

要使用超级用户凭据自动登录,请找到并编辑以下部分:

[authentication]
username = [superuser]
password = [password]

完成编辑后记得保存。现在,当您登录 Cassandra shell 时,它将反映您的更改:

cqlsh

重命名集群

您可能希望重命名集群以使系统更易于识别。通过登录到 cqlsh 终端:

cqlsh

代替 [new_name] 使用您想要的集群名称:

UPDATE system.local SET cluster_name = '[new_name]' WHERE KEY = 'local';

退出终端并打开 /etc/cassandra/conf/cassandra.yaml 进一步编辑:

sudo nano /etc/cassandra/conf/cassandra.yaml

找到 cluster_name 变量并将其值替换为您选择的名称。保存您的更改。

最后,清除 Cassandra 的系统缓存:

nodetool flush system

重启 Cassandra:

sudo systemctl restart cassandra

当您登录到 shell 时,它将显示您选择的集群名称。

验证配置更改

更改配置后,确保其生效并检查 Cassandra 集群的整体运行状况始终是一个好的做法。

集群名称验证:当您重新登录时发布重命名过程 cqlsh 壳:

cqlsh

提示现在应该显示新设置的集群名称。

结论

在本指南中,我们介绍了在 Rocky Linux 上安装 Apache Cassandra 的步骤,涵盖版本 9 和 8。这些说明为您提供了满足大数据需求的强大、可扩展的数据库解决方案。定期检查更新以保持 Cassandra 性能良好且安全。练习使用 Cassandra 以完全掌握其功能。深入研究、试验,看看它如何改变您的数据管理。

Joshua James
跟我来
Joshua James 的最新帖子 (查看全部)

发表评论