You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cassandra EC2节点异常关机:FileSystemException权限问题求助

Cassandra EC2节点因权限问题异常关机的排查与解决办法

问题根源

从日志可知,Cassandra在尝试为快照文件创建硬链接时被拒绝:

java.nio.file.FileSystemException: /var/lib/cassandra/data/dev_fortis_mtd/explanationofbenefit-5fb6576031e511ec8611d5b080c74d01/snapshots/dropped-1666726203042-explanationofbenefit/mc-1-big-Summary.db -> /var/lib/cassandra/data/dev_fortis_mtd/explanationofbenefit-5fb6576031e511ec8611d5b080c74d01/mc-1-big-Summary.db: 操作不被允许

由于disk_failure_policy被设置为stop,触发了节点自动关机逻辑。

解决步骤

1. 修复数据目录权限

确保Cassandra运行用户(默认是cassandra)拥有数据目录的完整权限:

# 递归设置目录所有权
sudo chown -R cassandra:cassandra /var/lib/cassandra/data
# 设置目录与文件的读写执行权限
sudo chmod -R 750 /var/lib/cassandra/data

2. 检查文件系统硬链接支持

如果EC2节点使用EFS作为数据存储,EFS默认不支持硬链接,需修改Cassandra配置禁用硬链接:

  • 编辑cassandra.yaml配置文件,找到hard_link_before_delete参数,修改为:
    hard_link_before_delete: false
    
  • 重启Cassandra服务:
    sudo systemctl restart cassandra
    

3. 临时调整磁盘故障策略(应急恢复)

若需快速恢复节点,可临时修改disk_failure_policy避免因权限问题直接关机:

  • 编辑cassandra.yaml,修改磁盘故障策略:
    disk_failure_policy: warn
    
  • 重启服务后,再彻底处理权限或文件系统问题(生产环境不建议长期使用warn/ignore)。

4. 验证修复结果

  • 启动Cassandra后,实时查看日志确认无权限错误:
    tail -f /var/log/cassandra/system.log
    
  • 手动创建快照测试功能是否正常:
    nodetool snapshot dev_fortis_mtd -t test_snapshot
    
  • 检查快照目录下的文件是否正常生成,且无操作被拒绝的报错。

注意事项

  • 生产环境避免使用EFS作为Cassandra数据盘,EFS不支持硬链接且性能远低于EBS;
  • 定期巡检Cassandra数据目录权限,避免因运维操作(如手动修改文件)导致权限变更;
  • 正常情况下disk_failure_policy建议保持stop或stop_paranoid,确保磁盘异常时及时止损。

内容的提问来源于stack exchange,提问作者dheeraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:05:19