从零上手Cassandra分布式数据库部署完整教程

认识Cassandra与系统要求

Cassandra是一款开源的分布式NoSQL数据库,擅长处理海量数据和高并发写入。
部署前需要一台Linux服务器(本文以Ubuntu 20.04为例),内存建议不低于2GB,并确保root或sudo权限。
核心依赖是Java 8或11,以及Python 2.7(用于cqlsh工具)。

第一步:安装Java并设置环境变量

Cassandra运行在JVM之上,所以Java必须装好。

# 更新包列表
sudo apt update

# 安装OpenJDK 11(推荐)
sudo apt install openjdk-11-jdk -y

# 验证安装
java -version

如果输出显示版本号,说明安装成功。
然后设置JAVA_HOME:

# 查找Java安装路径
sudo update-alternatives --config java
# 复制显示的路径,比如 /usr/lib/jvm/java-11-openjdk-amd64

# 编辑 /etc/environment 添加一行
echo 'JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"' | sudo tee -a /etc/environment

# 重新加载环境变量
source /etc/environment

完成后执行 echo $JAVA_HOME 确认路径正确。

第二步:下载并安装Cassandra

前往Apache官网下载稳定版本,或直接用wget获取:

# 下载(版本4.1.3为例)
wget https://dlcdn.apache.org/cassandra/4.1.3/apache-cassandra-4.1.3-bin.tar.gz

# 解压到 /opt
tar -xzvf apache-cassandra-4.1.3-bin.tar.gz -C /opt

# 建立软链接方便管理(可选)
sudo ln -s /opt/apache-cassandra-4.1.3 /opt/cassandra

解压后目录结构如下:

  • /opt/cassandra/bin:启动脚本与工具
  • /opt/cassandra/conf:配置文件
  • /opt/cassandra/data:数据目录(默认)

第三步:修改核心配置文件

Cassandra的主要配置在 cassandra.yaml
用vim打开:

sudo vim /opt/cassandra/conf/cassandra.yaml

重点修改以下项:

| 参数 | 说明 | 示例值 |
|------|------|--------|
| cluster_name | 集群名称,同一集群必须一致 | 'MyCluster' |
| listen_address | 节点间通信的IP | 内网IP,如192.168.1.100 |
| rpc_address | 客户端连接地址 | 0.0.0.0(监听所有网卡) |
| seeds | 种子节点列表,用于节点发现 | "192.168.1.100" |
| endpoint_snitch | 网络拓扑策略 | GossipingPropertyFileSnitch(默认) |

如果你只有一台机器做测试,listen_address 可以设为 127.0.0.1,但生产环境务必使用真实内网IP。
另外建议修改数据存储路径(如 /var/lib/cassandra),避免填满系统盘。
修改后保存退出。

第四步:启动服务与常见问题排查

切换到Cassandra安装目录,执行启动命令:

cd /opt/cassandra
sudo bin/cassandra -R  # -R 表示前台运行(方便看日志)

如果一切正常,会看到大量启动日志,最后出现 Starting listening for CQL clients on /0.0.0.0:9042 说明成功。

常见报错与解决:

  • Java版本不兼容:检查 java -version,必须为8或11。
  • JAVA_HOME未设置:确认 echo $JAVA_HOME 有输出,否则Cassandra启动脚本找不到Java。
  • 端口占用:Cassandra默认使用7000(节点间)、9042(CQL)、7199(JMX)。用 netstat -tulpn | grep 7000 检查,如有冲突可修改配置中的端口号。
  • 数据目录权限:如果启动时提示 NoSuchFileException,手动创建 /var/lib/cassandra 并授权:
sudo mkdir -p /var/lib/cassandra
sudo chown -R `whoami`:`whoami` /var/lib/cassandra

第五步:验证分布式数据库是否正常

启动成功后,用cqlsh工具连接测试:

# 进入bin目录
cd /opt/cassandra/bin
# 连接本地(默认端口9042)
./cqlsh 127.0.0.1

看到 Connected to MyCluster at 127.0.0.1:9042 表示连接成功。
可以执行简单命令:

CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
USE test;
CREATE TABLE users (id UUID PRIMARY KEY, name text);
INSERT INTO users (id, name) VALUES (uuid(), 'Alice');
SELECT * FROM users;

如果返回一行数据,说明数据库读写正常。

另外用 nodetool status 查看集群状态:

./nodetool status

输出中 UN 表示节点正常运行。
至此,你的Cassandra分布式数据库已成功部署!
在实际生产环境中,还需要配置防火墙、开启认证、调整JVM堆内存等,但本文的基础步骤已能让你快速上手。

如果你在部署过程中遇到其他问题,欢迎在评论区留言交流。

分享到:
上一篇
ClickHouse大数据分析数据库入门:从安装到首次查询
下一篇
gRPC接口服务器部署配置:零基础完整上手教程
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意