如何在Debian 10 Linux上安装Apache Cassandra

时间:2020-03-05 15:25:01  来源:igfitidea点击:

Apache Cassandra是一个免费的开源NoSQL数据库,没有单点故障。
它提供了线性可扩展性和高可用性,而不会影响性能。
许多拥有大量活动数据集的都使用Apache Cassandra,包括Reddit,NetFlix,Instagram和Github。

在本文中,我们将说明如何在Debian 10 Buster上安装Apache Cassandra。

准备工作

这些说明假定我们以root用户或者具有sudo特权的用户身份登录。

安装Java

在撰写本文时,Apache Cassandra的最新稳定版本是'3.11',并且需要OpenJDK 8,但官方Debian Buster存储库中没有此OpenJDK 8.

我们将启用AdoptOpenJDK存储库并安装预构建的OpenJDK 8程序包。

更新软件包列表并安装必要的依赖关系,以通过HTTPS添加新存储库:

sudo apt updatesudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common

导入存储库的GPG密钥,然后将AdoptOpenJDK APT存储库添加到系统中:

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

通过运行以下命令来安装Java 8:

sudo apt updatesudo apt install adoptopenjdk-8-hotspot

完成后,通过打印Java版本进行验证:

java -version

输出应如下所示:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.232-b09, mixed mode)

安装Apache Cassandra

我们将使用供应商存储库中的deb软件包安装Apache Cassandra。
为此,我们需要启用Apache Cassandra存储库。

使用以下“ wget”命令导入存储库的公钥:

wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add 

上面的命令应该输出'OK'。
这意味着密钥已成功导入,并且来自此存储库的软件包将被视为受信任的软件包。

通过运行以下命令,将Cassandra存储库添加到系统源列表中:

sudo sh -c 'echo "deb https://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'

更新软件包的索引并安装Apache Cassandra软件包:

sudo apt updatesudo apt install cassandra

安装过程完成后,Cassandra服务将自动启动。
要验证Cassandra是否正在运行,请键入:

nodetool status

我们应该看到类似下面的内容:

Datacenter: datacenter1
=======================
Status=Up/Down
|/State=Normal/Leaving/Joining/Moving
--  Address    Load        Tokens       Owns (effective)  Host ID                               Rack
UN  127.0.0.1  103.71 KiB  256          100.0%            dd8f6709-08ef-45b8-881e-5c1b5bbfc7f7  rack1

Apache Cassandra已成功安装。

配置Apache Cassandra

Apache Cassandra数据存储在“/var/lib/cassandra”目录中。
配置文件位于'/etc/cassandra'中,而Java启动选项可以在'/etc/default/cassandra'文件中进行配置。

默认情况下,Cassandra仅在localhost上侦听。
如果连接数据库的客户端也在同一台计算机上运行,则无需更改绑定界面。

要通过命令行与Cassandra进行交互,请使用Cassandra软件包随附的“ cqlsh”工具。

cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.5 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>

重命名Apache Cassandra集群

默认情况下,Cassandra群集被命名为“测试群集”。
如果要更改它,请按照以下步骤操作:

  • 使用'cqlsh'登录到Cassandra CQL终端:
cqlsh
  • 发出以下命令以将群集名称更改为“ theitroad群集”:
UPDATE system.local SET cluster_name = 'theitroad Cluster' WHERE KEY = 'local';

用我们想要的名称更改“ theitroad群集”。完成后,键入“ exit”退出终端。

  • 编辑“ cassandra.yaml”配置文件,并输入新的集群名称:/etc/cassandra/cassandra.yaml
cluster_name: 'theitroad Cluster'
  • 清除系统缓存:
nodetool flush system
  • 通过运行以下命令重新启动Cassandra服务:
sudo systemctl restart cassandra