YashanDB 开机自启
【问题归类】YashanDB 自启动配置问题
【关键词】自启动、monit、守护进程、systemd
问题描述
在服务器重启后,系统仅自动拉起了 monit 和 yasom 相关进程,但数据库主进程 yasdb 并未自动启动。
原因分析
出现该情况的主要原因是安装数据库时未开启守护程序,导致 yasdb 进程未被纳入监控管理范围。
解决方案
进入安装目录后,手动启动守护程序:
代码语言:javascript代码运行次数:0运行复制cd /home/yashan/install
./bin/yasboot monit start --cluster yashandb
YashanDB 使用自研的 yasboot 工具监控关键进程,并具备异常自动拉起机制。可以通过如下命令检查监控状态:
代码语言:javascript代码运行次数:0运行复制cd /home/yashan/install
./bin/yasboot monit summary -c yashandb
输出内容中应包含 yasdb、yasom、yasagent 等关键服务,状态为 OK 表示监控正常。
配置系统层面自启动方法
方法一:修改 rc.local 脚本
编辑文件 /etc/rc.local(或部分系统为 /etc/rc.d/rc.local),添加以下内容:
代码语言:javascript代码运行次数:0运行复制su yashan -c '/home/yashan1/yashandb/22.2.12.100/bin/monit/monit -c /home/yashan1/yashandb/22.2.12.100/bin/monit/monitrc'
并赋予执行权限:
代码语言:javascript代码运行次数:0运行复制sudo chmod +x /etc/rc.d/rc.local
方法二:使用 systemd 创建服务
1.创建服务文件,例如 /etc/systemd/system/yashanboot.service
代码语言:javascript代码运行次数:0运行复制sudo nano /etc/systemd/system/yashanboot.service
2.添加服务内容:
代码语言:javascript代码运行次数:0运行复制[Unit]
Description=YashanDB Auto Start
After=network.target
[Service]
Type=simple
ExecStart=sh /path/to/your/yasstart.sh
Restart=on-failure
[Install]
WantedBy=default.target
3.启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable yashanboot
sudo systemctl start yashanboot
4.查看服务状态:
代码语言:javascript代码运行次数:0运行复制sudo systemctl status yashanboot
该服务便会在系统开机时自动启动,确保数据库始终在线运行。
适用版本
适用于 YashanDB 22.2 / 23.2 版本