一键管理 StarRocks:简化集群的启动、停止与状态查看

一键管理 StarRocks:简化集群的启动、停止与状态查看

在日常运维中, StarRocks 集群的启动、停止与状态查看 一直是一件颇为繁琐的事情.

想象一下,如果双十一前夕,StarRocks 集群在做例行压测。凌晨 3 点,监控告警:CPU 飙高,查询超时。值班同学第一反应是「重启试试」。

  • 5 个 FE、8 个 BE,分布在 8 台服务器;
    录到每台服务器,分别执行:
/fe/bin/start_fe.sh --daemon
/be/bin/start_be.sh --daemon
  • 逐台 SSH,输入密码,执行 stop → start;
  • 第 4 台机器输错路径,进程没起来,导致元数据不一致;
  • 回滚、定位、修复,一共要花多少时间 。 更不要说跟多的 服务器。

这种逐台操作的方式,不仅耗时,还容易出错。 如果能一键启动、停止集群,并随时查看节点状态,效率将大大提升。

今天我来分享一个 一键管理 StarRocks 的linux 的 shell脚本 ,实现以下功能:

  • 一键启动 / 停止集群
  • 统一查看 FE / BE 节点状态
  • 动态配置节点,方便扩展
  • 优点 代码归一性

具体代码已经 更新到 starrocks issue #61541 ,但是能不能被采纳就不知道,希望能采纳。
:pray: :pray: :pray: :pray: :pray:

依赖关系

下载sshpass 并编译

wget https://sourceforge.net/projects/sshpass/files/sshpass/1.09/sshpass-1.09.tar.gz
tar -xzf sshpass-1.09.tar.gz
cd sshpass-1.09
./configure && make && sudo make install

执行步骤如下:

启动 Start the Cluster:

./starrocks_cluster_manager.sh start

停止 Stop the Cluster:

./starrocks_cluster_manager.sh stop

image

检查 Check the Cluster Status:

./starrocks_cluster_manager.sh status


总结

自我感觉还是不够通用化,应该有很多提升的空间。但目前我在维护中就可以一建启动了。

有了这个脚本, StarRocks 集群的日常运维可以从繁琐的手动登录,变成一条命令搞定 ,大幅提升了运维效率。如果你有更大规模的集群,进一步提速。

下一步:写个图形化操作界面