cassandra - Cassandra 如何处理磁盘空间不足的问题?
问题描述
我想知道 Cassandra 集群如何处理磁盘空间不足的成员。
我已经读过它可能会让他们出错,但那是在回来的时候。
如果这仍然是真的,是否有任何明智的方法可以防止它们在不停机的情况下耗尽整个磁盘,例如将它们变为只读模式?
解决方案
Cassandra 有四种处理这种情况的方法。您可以disk_failure_policy
使用cassandra.yaml
. 默认值为:
disk_failure_policy: stop
stop
禁用到节点的 gossip 和客户端连接,但让它继续运行。这允许通过基于 JMX 的工具对其进行分析。
其他选项是:
die
针对文件系统错误停止 Cassandra 进程。stop_paranoid
针对 SSTable 错误和启动错误停止 Cassandra 进程。best_effort
Cassandra 将尝试根据它可以获取的剩余 SSTables 来响应请求,但将不再使用已满/失败的磁盘。ignore
从本质上讲,可以服务的请求得到服务,失败的请求被允许失败。
对于您所说的,ignore
可能会起作用。
理论上,这种情况不应导致停机。您的其他节点应该能够弥补不足,并允许您尽早修复完整节点。如果这只是一个单节点集群,那么确实没有办法解决停机时间来修复故障磁盘或附加额外的存储。
推荐阅读
- mysql - MySQL选择具有每个不同值的随机行 - 逗号分隔输入
- asp.net-mvc - 无法使用 .net framework 4.5 安装 dapper 2.0.30
- c# - Azure 反序列化 JSON 响应 C#
- php - Yii2 命令控制器功能未在 docker 容器的 crontab 中执行
- dependency-injection - 带有任务调度的NestJs依赖注入不起作用
- networking - 如何在本地网络上传输至少“几个字节”(UEFI DXE)
- python - Pandas、Python 和 Plotly 的时间序列
- css - 将自定义 CSS 放入 Laravel 6
- asp.net - 我在哪里将我的错误捕获密码放在这里?
- android - 如何使用 SpannableBuilder 动态更改字符串的部分颜色