Linux云服务器上安装与配置Apache Cassandra完全指南
在当今数据驱动的时代,Apache Cassandra作为高性能的分布式NoSQL数据库,正被越来越多的企业采用。本文将详细介绍在Linux云服务器上部署Cassandra的全过程,包含从环境准备到集群配置的完整解决方案。
一、准备工作
1.1 服务器要求
- 推荐使用Ubuntu 20.04 LTS或CentOS 8及以上版本
- 至少4GB内存(生产环境建议16GB+)
- 最少2核CPU(生产环境建议8核+)
- 100GB以上SSD存储空间
1.2 依赖安装
# Ubuntu/Debian
sudo apt update
sudo apt install -y openjdk-11-jdk python2 python3 python3-pip
# CentOS/RHEL
sudo yum install -y java-11-openjdk-devel python2 python3 python3-pip
二、安装Cassandra
2.1 添加Cassandra源
# Ubuntu/Debian
echo "deb https://debian.cassandra.apache.org 41x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
curl https://downloads.apache.org/cassandra/KEYS | sudo apt-key add -
# CentOS/RHEL
sudo tee /etc/yum.repos.d/cassandra.repo <
2.2 执行安装
# Ubuntu/Debian
sudo apt update
sudo apt install cassandra
# CentOS/RHEL
sudo yum install cassandra
三、基础配置
3.1 核心配置文件修改
编辑/etc/cassandra/cassandra.yaml:
cluster_name: 'MyCassandraCluster'
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "node1_ip,node2_ip"
listen_address: 当前节点IP
rpc_address: 0.0.0.0
endpoint_snitch: GossipingPropertyFileSnitch
3.2 JVM调优
编辑/etc/cassandra/jvm.options:
-Xms4G
-Xmx4G
-XX:+UseG1GC
-XX:MaxGCPauseMillis=300
四、集群部署
4.1 多节点配置
在所有节点上重复安装步骤,确保:
- 相同的
cluster_name - 一致的
seeds列表(通常3-5个种子节点) - 每个节点有唯一的
listen_address
4.2 启动集群
sudo systemctl daemon-reload
sudo systemctl enable cassandra
sudo systemctl start cassandra
4.3 验证集群状态
nodetool status
输出应显示所有节点为UN(Up Normal)状态
五、安全配置
5.1 认证配置
# 启用密码认证
sudo sed -i 's/authenticator: AllowAllAuthenticator/authenticator: PasswordAuthenticator/' /etc/cassandra/cassandra.yaml
# 重启服务后创建管理员
cqlsh -u cassandra -p cassandra
CREATE ROLE admin WITH PASSWORD = 'securepassword' AND SUPERUSER = true AND LOGIN = true;
5.2 防火墙规则
# Cassandra默认端口
sudo ufw allow 7000/tcp # 节点间通信
sudo ufw allow 9042/tcp # CQL客户端
sudo ufw allow 7199/tcp # JMX监控
六、维护与监控
6.1 日常维护命令
- 修复操作:
nodetool repair - 清理墓碑:
nodetool compact - 备份:
nodetool snapshot
6.2 监控方案
推荐使用以下工具:
- Prometheus + Grafana
- Datadog Cassandra集成
- Cassandra自带的
nodetool工具
七、常见问题解决
| 问题 | 解决方案 |
|---|---|
| 节点无法加入集群 | 检查种子节点配置、网络连通性和防火墙设置 |
| 写入性能下降 | 调整compaction策略,检查磁盘IO性能 |
| 内存不足错误 | 调整JVM堆大小,增加服务器内存 |
通过本指南,您应该已经成功在Linux云服务器上部署了Apache Cassandra集群。建议定期检查官方文档获取最新安全更新和性能优化建议。
