如何在Debian 10 Linux上安装Apache Cassandra
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