一键管理 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 ,但是能不能被采纳就不知道,希望能采纳。
依赖关系
下载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
检查 Check the Cluster Status:
./starrocks_cluster_manager.sh status
总结
自我感觉还是不够通用化,应该有很多提升的空间。但目前我在维护中就可以一建启动了。
有了这个脚本, StarRocks 集群的日常运维可以从繁琐的手动登录,变成一条命令搞定 ,大幅提升了运维效率。如果你有更大规模的集群,进一步提速。
下一步:写个图形化操作界面 ?