如何在 Debian 11 上安装 Apache Cassandra NoSQL 数据库
Apache Cassandra 是一个专为云计算开发的开源分布式数据库。它提供了高度可用且可扩展的数据库服务,无单点故障且无需手动调整。
Apache Cassandra 是人工智能领域最流行的数据库之一,用于帮助创建机器人。凭借使用商用硬件快速扩展的能力,Cassandra 可能成为为未来机器人数据管理设备提供支持的主要数据存储系统之一。
Apache Cassandra 是一个 NoSQL 数据库。通过添加 Apache Thrift 接口,Cassandra 可以用于存储和管理数据,而无需使用 SQL,同时允许开发人员使用熟悉的应用程序开发协议(如 REST 和 Thrift)。
Cassandra 主要由 Facebook 工程师 Prashant Malik 开发。该数据库以 Facebook 联合创始人的妻子命名,她于 2008 年死于车祸。它基于 Google 的 BigTable 架构构建,支持使用 Apache ZooKeeper 进行分发、复制、故障检测和负载平衡。
在 Cassandra 中,数据分布在服务器集群中。它没有单点故障,可以容忍任意数量的机器丢失而不丢失数据。如果需要,可以通过添加更多机器来增加系统的总容量。 Cassandra 旨在很好地处理频繁故障和任意机器丢失,但以修复正在进行时的写入可用性为代价。
使用 Apache Cassandra 作为 NoSQL 数据库有很多好处。但是,安装和入门可能很困难。在本教程中,我们将向您展示如何在您自己的 Debian 11 服务器上开始使用 Cassandra,并使其尽可能简单。
您将学习如何在计算机上创建 Apache Cassandra 集群。此外,您还将学习如何使用客户端程序“cqlsh”与计算机上安装的 Cassandra 数据库进行交互。
阅读本教程后,您将能够轻松在自己的计算机上安装和使用 Cassandra。
先决条件
为了完成本教程,您需要具有以下规格的 Ubuntu 20.04 或 Debian 11 服务器:
- 至少 2GB RAM,2 个 CPU,每个 2.0 GHz。至少 40 GB 硬盘空间用于安装。
- 您的服务器上设置了具有 sudo 权限的非 root 用户。
更新您的系统
首先,通过在服务器上发出以下命令来确保您是最新的。
sudo apt update -y && sudo apt upgrade -y
接下来,安装 Cassandra 所需的必要软件包。
sudo apt install build-essential binutils bsdmainutils gnupg2 curl -y
安装 Java (JDK)
接下来,我们将在您的服务器上安装 Java 开发工具包 (JDK)。
Java 开发工具包 (JDK) 包含用于开发 Java 程序的编译器和工具。
需要运行 Cassandra 客户端程序 cqlsh 以及 Cassandra 服务器。默认情况下,cqlsh 会查找计算机上安装的 Java 运行时环境 (JRE)。但有时,在 Ubuntu 或基于 Debian 的系统上安装 JRE 可能很困难,因为它们是默认安装的。
在本演示中,我们将安装官方稳定版 OpenJDK 11 JDK。 OpenJDK 是 Oracle 提供的官方稳定 OpenJDK 版本,也是 JRE 的最佳替代品,如果您希望使用 JDK 开发下一个出色的应用程序,它不会让您失望。
运行以下命令在您的服务器上安装 openjdk-11-openjdk。
sudo apt install openjdk-11-jre -y
安装完成后,运行以下命令进行测试,确保安装正确。
java -version
-version 是终端的内置命令,它显示系统上安装的 Java 版本。如果看到如下所示的版本号,说明你已经成功安装了这个JDK。
在 Debian 11 上安装 Apache Cassandra NoSQL DB
现在我们已经更新了系统并安装了必要的软件包,我们准备在我们的服务器上安装 Cassandra。
默认情况下,Debian 11 的基础存储库不包含 Cassandra。为了安装 Cassandra,我们必须从 Cassandra 开发人员添加官方 Cassandra 存储库。
官方 Cassandra 存储库包含 Cassandra 的最新稳定版本、其依赖项及其附加组件。
运行以下命令添加官方 Cassandra 存储库的身份验证密钥。此命令将官方 Cassandra 存储库的身份验证密钥添加到系统的 APT 密钥环中。
添加身份验证密钥可防止未经授权的个人添加包含 Cassandra 后门版本或恶意软件的恶意存储库。它还验证您正在访问官方存储库而不是模拟存储库。
curl https://downloads.apache.org/cassandra/KEYS | apt-key add -
如果身份验证密钥已成功添加,您将收到一条 OK 消息。
现在,将官方 Cassandra 存储库添加到系统的 APT 源列表中。此命令会将官方 Cassandra 存储库添加到系统的 APT 源列表中。此时,将自动从密钥服务器网络检索用于对包进行签名的 GPG 密钥信息。
echo "deb https://downloads.apache.org/cassandra/debian 40x main" | tee -a /etc/apt/sources.list.d/cassandra.list
将官方 Cassandra 存储库添加到您的系统后,运行以下命令来更新您的 APT 源列表。
sudo apt update -y
更新 APT 源列表后,运行以下命令来验证官方 Cassandra 存储库是否已正确添加到系统的 APT 源列表中。
apt-cache policy
您将得到类似于下面的输出。您可以看到该存储库已正确添加到系统的 APT 源列表中。在继续下一步之前,您应该确保存储库的版本在输出中显示为 40x。
现在,您可以在终端或命令提示符中使用以下命令安装 Cassandra。
sudo apt install cassandra -y
安装后,运行以下命令检查 Cassandra 是否已正确安装在您的系统上。您将获得已安装的 Cassandra 的状态。
sudo systemctl status cassandra
测试 Apache Cassandra
现在您已成功安装 Cassandra,可以开始测试它了。因此,我们将首先使用 nodetool 测试 Cassandra 服务器。 Nodetool 是一个实用程序,用于诊断 Cassandra 安装问题。
它从 Cassandra 读取有关哪些节点处于活动状态、每个列族应有多少个副本等信息。然后,它打印出从 Cassandra 获取的信息,并将其与给定架构时您期望看到的信息进行比较。它试图捕获基本的配置问题。
运行 nodetool status 命令来检查有关安装的错误和警告。
nodetool status
您将得到类似于下面的输出。如果没有错误,则您已在服务器上成功安装 Cassandra。
您还可以使用 cqlsh 客户端来测试 Cassandra。 cqlsh 是与 Cassandra 捆绑在一起的官方 Cassandra 客户端程序。在此演示中,我们将使用 cqlsh 更改系统上集群的默认名称,继续在您的服务器上测试 Cassandra。然后重新检查集群的名称。
运行下面的 cqlsh 命令登录到您的 Cassandra 服务器。
cqlsh
您将看到类似于下图的屏幕。
要更改系统上集群的名称,请在提示符处添加下面的查询,然后按 Enter。
输入 exit 并按 Enter 键退出 cqlsh。
在文本编辑器中打开 /etc/cassandra/cassandra.yaml 文件。
sudo nano /etc/cassandra/cassandra.yaml
找到 cluster_name: ‘Test Cluster’ 行并将名称更改为 Vitux。通过键入 Ctrl + O 和 Enter,然后按 Ctrl + X 退出来保存并退出文件。
前
后
现在您的集群已命名为 Vitux,请重新检查服务器上的集群名称。
cqlsh
如果您可以在我们的系统中看到集群的名称更改为 Vitux,则意味着您已在终端中使用 Cassandra 的 cqlsh 客户端成功更改了集群的名称。
结论
在本文中,我们展示了如何在 Debian 11 服务器上安装 Cassandra。以及如何通过使用 cqlsh 登录系统并将集群名称从 Test Cluster 更改为 Vitux 来测试安装。如果您想了解有关 Cassandra 的更多信息,请访问其官方网站。