本页内容
- 准备工作
- 安装 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 来处理海量数据。如果您有任何疑问,欢迎随时向我提问。