在 CentOS 8 中安装和配置 Cassandra
本文将介绍如何在 CentOS 8 系统上安装和配置 Cassandra,以及如何使用基本的命令操作 Cassandra 数据库。
Cassandra 是一个分布式的 NoSQL 数据库,它可以提供高可用性,高性能,高扩展性和容错性。Cassandra 可以在多个节点上存储和查询大量的结构化和非结构化的数据。本文将介绍如何在 CentOS 8 系统上安装和配置 Cassandra,以及如何使用基本的命令操作 Cassandra 数据库。
先决条件
在开始安装和配置 Cassandra 之前,您需要准备以下内容:
- 一台或多台运行 CentOS 8 的服务器,每台服务器至少有 4 GB 的内存,2 个 CPU 核心,和 50 GB 的磁盘空间。
- 每台服务器都已经安装了 Java 8 或更高版本,以及 wget 工具。
- 每台服务器都已经设置了静态 IP 地址,并且可以互相访问。
- 每台服务器都已经关闭了防火墙,或者开放了 7000,7001,7199,9042,9160 端口。
安装 Cassandra
在每台服务器上,执行以下步骤来安装 Cassandra:
-
添加 Cassandra 的官方仓库源。创建一个文件
/etc/yum.repos.d/cassandra.repo
,并在其中添加以下内容:[cassandra] name=Apache Cassandra baseurl=https://www.apache.org/dist/cassandra/redhat/311x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.apache.org/dist/cassandra/KEYS
-
使用
dnf
命令安装 Cassandra:sudo dnf install cassandra -y
-
启动 Cassandra 服务,并设置为开机自启动:
sudo systemctl start cassandra sudo systemctl enable cassandra
-
验证 Cassandra 是否安装成功。使用
nodetool
命令查看当前节点的状态:nodetool status
如果看到类似以下的输出,说明 Cassandra 已经成功安装并运行:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 103.77 KiB 256 100.0% 3a5f9b3a-1c8e-4a0d-8f6a-9c7c0a0f0a8c rack1
配置 Cassandra
如果您只有一台服务器,那么 Cassandra 的默认配置就可以满足您的需求。但是,如果您有多台服务器,那么您需要修改一些配置来实现集群的功能。在每台服务器上,执行以下步骤来配置 Cassandra:
-
编辑 Cassandra 的主配置文件
/etc/cassandra/conf/cassandra.yaml
,并修改以下内容:cluster_name
:为您的集群设置一个唯一的名称,比如 “My Cassandra Cluster”。所有节点必须使用相同的名称。seeds
:设置您的集群中的种子节点,即其他节点可以通过它们发现集群的节点。您可以选择一台或多台服务器作为种子节点,比如 “192.168.1.1,192.168.1.2”。所有节点必须使用相同的种子节点列表。listen_address
:设置当前节点的 IP 地址,比如 “192.168.1.1”。每个节点必须使用自己的 IP 地址。rpc_address
:设置当前节点的 IP 地址,比如 “192.168.1.1”。每个节点必须使用自己的 IP 地址。endpoint_snitch
:设置当前节点的数据中心和机架信息,以便 Cassandra 可以优化数据的复制和读取。您可以使用SimpleSnitch
,GossipingPropertyFileSnitch
,或者其他可用的选项。如果您使用GossipingPropertyFileSnitch
,那么您还需要编辑/etc/cassandra/conf/cassandra-rackdc.properties
文件,并设置dc
和rack
的值。每个节点必须使用相同的endpoint_snitch
,并根据自己的位置设置dc
和rack
的值。
-
重启 Cassandra 服务,使配置生效:
sudo systemctl restart cassandra
-
验证 Cassandra 的集群是否配置成功。在任意一台服务器上,使用
nodetool
命令查看集群的状态:nodetool status
如果看到类似以下的输出,说明 Cassandra 的集群已经成功配置并运行:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 192.168.1.1 103.77 KiB 256 33.3% 3a5f9b3a-1c8e-4a0d-8f6a-9c7c0a0f0a8c rack1 UN 192.168.1.2 103.77 KiB 256 33.3% 4b6f9b3a-1c8e-4a0d-8f6a-9c7c0a0f0a8c rack1 UN 192.168.1.3 103.77 KiB 256 33.3% 5c7f9b3a-1c8e-4a0d-8f6a-9c7c0a0f0a8c rack1
操作 Cassandra
在安装和配置好 Cassandra 之后,您可以使用一些基本的命令来操作 Cassandra 数据库。以下是一些常用的命令:
-
启动 Cassandra 服务:
sudo systemctl start cassandra
-
停止 Cassandra 服务:
sudo systemctl stop cassandra
-
重启 Cassandra 服务:
sudo systemctl restart cassandra
-
重新加载 Cassandra 的配置:
sudo systemctl reload cassandra
-
登录 Cassandra 的命令行界面:
cqlsh
-
退出 Cassandra 的命令行界面:
quit
-
在 Cassandra 的命令行界面中,您可以使用 CQL (Cassandra Query Language) 来创建和管理数据库,表,索引,用户,角色等。CQL 的语法类似于 SQL,但有一些区别。您可以参考 CQL 文档 来了解更多的细节。
结论
本文介绍了如何在 CentOS 8 系统上安装和配置 Cassandra,以及如何使用基本的命令操作 Cassandra 数据库。您可以使用 Cassandra 来存储和查询大量的结构化和非结构化的数据,享受分布式数据库的优势。