本页内容

  • 准备工作
  • 安装 Java 8
  • 添加 Apache Cassandra 软件源
  • 在 Ubuntu 22.04 上安装 Cassandra
  • 如何连接 Apache Cassandra
  • 修改 Cassandra 集群名称
  • 总结

Cassandra 是一款免费、开源的 NoSQL 数据库管理系统,专为处理海量数据而设计。Cassandra 采用 dynamo 风格的复制机制,这些副本分布在多个节点上,从而提供高可用性且不存在单点故障。Cassandra 非常适合物联网以及社交媒体分析、消息服务和零售应用等需要收集海量数据的场景。包括 Netflix、Facebook、Cisco、Hulu、Twitter 等在内的许多大型企业都在使用 Apache Cassandra。

本教程将介绍如何在 Ubuntu 22.04 上安装 Apache Cassandra。

准备工作

  • 一台运行 Ubuntu 22.04 的服务器。
  • 服务器上已配置 root 密码。

安装 Java 8

Apache Cassandra 仅支持 Java 8 版本,因此您需要在服务器上安装它。您可以通过运行以下命令进行安装:

apt-get install openjdk-8-jdk -y

Java 安装完成后,使用以下命令验证 Java 安装:

java -version

您将看到类似以下的输出:

openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-8u312-b07-0ubuntu1-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

完成后,您可以进入下一步。

添加 Apache Cassandra 软件源

默认情况下,Ubuntu 22.04 的默认软件源中不包含 Apache Cassandra 软件包,因此您需要将其官方软件源添加到 APT。

首先,使用以下命令安装所需的依赖项:

apt-get install apt-transport-https gnupg2 -y

所有依赖项安装完成后,使用以下命令导入 Cassandra 的 GPG 密钥:

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

接下来,使用以下命令将 Cassandra 软件源添加到 APT:

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

接下来,使用以下命令更新软件源缓存:

apt-get update -y

系统软件源更新完成后,您可以进入下一步。

在 Ubuntu 22.04 上安装 Cassandra

现在,您只需运行以下命令即可安装 Apache Cassandra:

apt-get install cassandra -y

Apache Cassandra 安装完成后,您可以使用以下命令查看 Cassandra 的运行状态:

systemctl status cassandra

您将看到类似以下的输出:

? cassandra.service - LSB: distributed storage system for structured data
     Loaded: loaded (/etc/init.d/cassandra; generated)
     Active: active (running) since Thu 2022-05-05 11:57:22 UTC; 40s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 24707 ExecStart=/etc/init.d/cassandra start (code=exited, status=0/SUCCESS)
      Tasks: 57 (limit: 4630)
     Memory: 1.2G
        CPU: 15.952s
     CGroup: /system.slice/cassandra.service
             ??24800 /usr/bin/java -Xloggc:/var/log/cassandra/gc.log -ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOn>

May 05 11:57:22 ubuntu2204 systemd[1]: Starting LSB: distributed storage system for structured data...
May 05 11:57:22 ubuntu2204 systemd[1]: Started LSB: distributed storage system for structured data.

您也可以使用以下命令验证 Cassandra 的监听端口:

ss -antpl | grep java

您将看到类似以下的输出:

LISTEN 0      500        127.0.0.1:7000       0.0.0.0:*    users:(("java",pid=24800,fd=86))                                                  
LISTEN 0      50         127.0.0.1:45049      0.0.0.0:*    users:(("java",pid=24800,fd=83))                                                  
LISTEN 0      50         127.0.0.1:7199       0.0.0.0:*    users:(("java",pid=24800,fd=82))                                                  
LISTEN 0      4096       127.0.0.1:9042       0.0.0.0:*    users:(("java",pid=24800,fd=100)) 

如何连接 Apache Cassandra

首先,您需要查看 Apache 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  70.93 KiB  256          100.0%            eaa94d10-69c6-405d-b7bd-4b3dcbd380be  rack1

现在,您可以使用 cqlsh 工具连接到 Cassandra shell:

cqlsh

连接成功后,您将看到类似以下的输出:

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

现在,使用以下命令退出 Cassandra shell:

cqlsh> exit

修改 Cassandra 集群名称

默认情况下,Cassandra 的默认集群名称为 Test Cluster,建议将其修改为有意义的名称。

为此,请使用以下命令连接到 Cassandra:

cqlsh

连接成功后,将集群名称修改为 "Cassandra Cluster",如下所示:

cqlsh> UPDATE system.local SET cluster_name = 'Cassandra Cluster' WHERE KEY = 'local';

接下来,使用以下命令退出 Cassandra:

cqlsh> exit

接下来,您还需要编辑 Cassandra 的配置文件并修改集群名称,可以使用以下命令进行编辑:

nano /etc/cassandra/cassandra.yaml

修改以下行:

cluster_name: 'Cassandra Cluster'

修改完成后保存并关闭文件,然后使用以下命令刷新系统缓存:

nodetool flush system

接下来,重启 Cassandra 服务以使更改生效:

systemctl restart cassandra

现在,您可以使用以下命令验证 Cassandra 集群名称:

cqlsh

如果一切正常,您将在以下输出中看到新的集群名称:

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

总结

恭喜!您已成功在 Ubuntu 22.04 上安装 Apache Cassandra。现在,您可以在集群环境中使用 Cassandra 来处理海量数据。如果您有任何疑问,欢迎随时向我提问。