Doris FE配置中的自动恢复选项
Doris FE 的自动恢复功能主要通过 metadata_failure_recovery
配置项实现,用于在元数据异常或集群脑裂时恢复 FE 的元数据一致性。以下是具体配置和使用方法:
1. 配置参数说明
- 参数位置:在 FE 的配置文件
fe.conf
中添加或修改以下参数:properties复制metadata_failure_recovery=true
- 作用:
- 启用元数据恢复模式:清空本地 BDBJE 的元数据存储,尝试从其他节点恢复最新元数据。
- 适用场景:FE 无法正常启动(如元数据损坏、脑裂)、集群失去 Master 节点等。
2. 不同场景下的配置方法
场景 1:单节点 FE 故障
- 操作步骤:
- 在
fe.conf
中添加metadata_failure_recovery=true
。 - 重启 FE:
sh bin/start_fe.sh --daemon
。 - 恢复成功后,移除该配置或设置为
false
,避免后续自动触发恢复8。
- 在
场景 2:多节点 FE 故障(需手动选择 Master)
- 定位最新元数据节点:
- 检查所有 FE 的
meta_dir/image
目录,找到image.xxxx
中数字最大的节点(元数据最新)8。
- 检查所有 FE 的
- 恢复 Master:
- 在最新元数据节点的
fe.conf
中添加metadata_failure_recovery=true
。 - 重启 FE,观察日志确认是否成功切换为 Master(日志中出现
transfer from XXXX to MASTER
)6。
- 在最新元数据节点的
- 清理其他节点:
- 删除旧 Master 和其他 Follower:
ALTER SYSTEM DROP FOLLOWER "IP:PORT";
。 - 重新添加 Follower:
ALTER SYSTEM ADD FOLLOWER "IP:PORT";
8。
- 删除旧 Master 和其他 Follower:
场景 3:Observer 节点恢复
- 特殊处理:
- 若 Observer 的元数据最新,需先修改
meta_dir/image/ROLE
文件,将role=OBSERVER
改为role=FOLLOWER
。 - 按 Follower 恢复流程操作,避免角色不一致问题。
- 若 Observer 的元数据最新,需先修改
3. 版本差异
- Doris ≥2.0.2:支持命令行参数直接启用恢复模式:bash复制
sh bin/start_fe.sh --metadata_failure_recovery --daemon
- Doris <2.0.2:需在
fe.conf
中添加metadata_failure_recovery=true
7。
4. 注意事项
- 仅限紧急恢复:恢复模式会清空本地元数据,需确保其他节点元数据可用。
- 恢复后操作:
- 恢复成功后必须移除
metadata_failure_recovery
配置,否则下次重启会再次触发恢复。 - 检查集群状态:
SHOW FRONTENDS;
确认所有节点状态正常。
- 恢复成功后必须移除
- 脑裂风险:恢复过程中可能产生脑裂,建议在操作前备份元数据目录(
fe/doris-meta
)4。
5. 预防措施
- 高可用部署:建议配置 3 个 Follower 或 1 Follower + 1 Observer,避免单点故障7。
- 定期备份:通过
BACKUP
命令或 Doris Manager 定期备份元数据。 - 监控告警:使用 Doris Manager 或第三方工具监控 FE 状态,及时触发恢复流程4。