网站搜索

如何在 CentOS 8 上安装 Apache Cassandra


Apache Cassandra 是一个强大的免费开源 NoSQL 数据库,它以键值对的形式存储数据。 Cassandra 最初由 Facebook 开发,后来被 Apache 基金会 收购。

Apache Cassandra 旨在提供一致性、水平可扩展性和高可用性,无单点故障。它实现了 Dynamo 式复制,提供容错能力并保证 99.99% 的正常运行时间。这使得它非常适合用于无法承受任何停机的关键业务应用程序。

在其环境中实施 Apache Cassandra 的一些著名公司包括 NetflixFacebookTwitter >eBay 仅举几例。

在本指南中,我们重点介绍在 CentOS 8RHEL 8 Linux 发行版上安装 Apache Cassandra

在 CentOS 8 中安装 Java

首先,我们将在我们的系统上安装OpenJDK 8,它将提供Java。但首先,让我们检查是否安装了Java。为此,请调用以下命令:

java -version

如果您的系统上不存在 Java,您将得到显示的输出:

bash: java: command not found...

要安装 OpenJDK 8,请运行以下 dnf 命令。

sudo dnf install java-1.8.0-openjdk-devel

这将安装 OpenJDK 8 以及其他依赖项,如图所示。

安装完成后,再次验证您是否已安装OpenJDK,如下所示:

java -version

注意:如果除了 OpenJDK 8 之外还安装了其他版本的 OpenJDK,您可以将默认 Java 版本设置为 OpenJDK 8通过运行以下命令来执行。

sudo alternatives --config java

此后,选择与 OpenJDK 8 对应的选项。在下面的屏幕截图中,我们已将默认的 Java 版本从 OpenJDK 11 切换到 OpenJDK 8

在 CentOS 8 上安装 Apache Cassandra

安装 Java 后,我们现在可以继续安装 Apache Cassandra。为 Apache Cassandra 创建一个新的存储库文件,如下所示:

sudo vim /etc/yum.repos.d/cassandra.repo

然后添加 Cassandra 的存储库,如图所示。

[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

保存并退出存储库文件。

接下来,使用以下命令安装 Apache Cassandra:

sudo dnf install Cassandra

此后,接受多个 GPG 密钥。

安装完成后。通过运行以下 rpm 命令验证 Apache Cassandra 是否已成功安装:

rpm -qi Cassandra

您将获得有关 Apache Cassandra 的详细信息,例如版本、发行版、架构、大小、许可证以及简要说明等。

此后,为 Cassandra 创建一个 systemd 服务文件,如图所示。

sudo vim /etc/systemd/system/cassandra.service

添加以下行:

[Unit]
Description=Apache Cassandra
After=network.target

[Service]
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

保存并退出文件。

接下来,启动 Cassandra 并通过调用以下命令确认其状态:

sudo systemctl start cassandra
sudo systemctl status Cassandra

输出确认 Cassandra 已启动并正在运行。此外,您可以通过发出以下命令来启用 Cassandra 在启动或重新启动时启动:

sudo systemctl enable Cassandra

要登录 Cassandra 并与 Cassandra Query 语言交互,我们将使用 cqlsh 命令行工具。但要使其工作,我们需要安装Python2解释器。

如果您在未安装Python2的情况下尝试登录,您将收到如下错误:

cqlsh

No appropriate python interpreter found.

因此,Python2是必不可少的,需要安装。要安装它,请运行命令:

sudo dnf install python2

这将安装 Python2 以及其他依赖项,如图所示。

尝试登录,这一次就登录成功了。

cqlsh

在 CentOS 8 中配置 Apache Cassandra

要修改 Cassandra 的默认设置,请查看 /etc/cassandra 目录中的配置文件。数据存储在/var/lib/cassandra路径中。启动选项可以在 /etc/default/cassandra 文件中进行调整。

默认情况下,Cassandra 的集群名称是“测试集群”。您可以通过登录并运行以下命令将其更改为您的首选集群名称。

UPDATE system.local SET cluster_name = 'Tecmint Cluster' WHERE KEY = 'local';

在此示例中,我们将集群名称设置为“Tecmint Cluster”。

接下来,转到 cassandra.yaml 文件。

sudo vim /etc/cassandra/default.conf/cassandra.yaml

相应地修改 cluster_name 指令,如下所示。

保存并退出配置文件并重新启动Cassandra服务。

sudo systemctl restart Cassandra

再次登录以确认集群名称,如图所示。

本教程到此结束。我们希望您已在 CentOS 8RHEL 8 Linux 发行版上成功安装 Apache Cassandra