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 以完全掌握其功能。深入研究、试验,看看它如何改变您的数据管理。