添加follower流程的疑问

看到这里介绍的添加 FE follower 的过程:https://docs.starrocks.io/zh-cn/latest/deployment/deploy_manually#第五步可选部署高可用-fe-集群

这里有一点疑问:为什么会需要 SQL 和启动时做两次操作了?并且 follower 第一次启动还有单独的启动命令
这里是否可以只执行一次 SQL ,SR 主动帮我完成后续的 follower 强制全量更新元数据的操作了?
这样 follower 就可以使用统一的启动命令,并且拉起 FE 进程的动作和通过 SQL 操作结点的加入就是很清晰的两类操作了,在运维上容易理解和操作

现在也很方便,平常不会经常加减follower操作的,操作很少的,暂时没必要过优化。

如果只是偶尔弄一次再麻烦的集群我也部署过,但我们这边集群数量以及节点数会很多,因此很需要自动化部署而不能手工部署,目前遇到如下问题:

  • follower 不带 --helper 启动,报 invalid cluster id
    这个认了,我可以假装我知道什么时候是这个机器的第一次启动。
    但实际运维中可能会遇到 FE 的搬迁和升级,这种到底要不要带 --helper 的判断就会麻烦一点,不过目前我在脚本中兼容了
  • follower 带 --helper 启动,但是无法确定什么时候可以不带 --helper 参数启动
    时间太短不带 helper 参数启动会导致整个 FE 挂掉,而想不带 --helper 参数的原因是统一运维脚本
  • 如果是迁移 FE 结点,需要手工清理 meta 目录
    这个暂时还好,在上面第一个里面发现是安装命令后如果发现有残余安装会自动清理,但靠运维来做这个事其实心里还是很虚的,万一不是 DBA 期望的清理就 GG 了

总结下来就是,手工部署怎么都好说,自动化部署现在暴露的东西有点多了,或者官方有类似 TiDB 的那个自动化脚本也可以

可以在论坛搜索stargo, 看看是否适合用stargo做自动化部署.

好的,我现在是用 ansible 的,因为和之前的要统一

那就需要自己多一些有针对性的开发工作了.