obproxy集群不能重启节点

【 使用版本 】ob部署的是社区版
【问题描述】obproxy集群有3个节点,昨天又一个节点机器重启了,obproxy程序没有自动重启,在ocp上操作也不行

是obproxy安装的问题吗? 如何使开机自动重启的正确姿势?
我看obproxy是在/home/admin目录下,但是机器上没有配置admin用户。

把当时的ocp-server.log日志 发一下看看 ocp的版本号发一下

我看了log

ocp版本号是:4.3.6-20250815135607

我想起来了,当时那个服务器ssh登录不上,可能服务器状态本身也有问题,今天晚上我再重启测试一下。

1 这个62888端口是obproxy的,还是agent的?
2 手工启动obproxy用什么命令?
3 ocp是不是会在发现obproxy没有运行的时候,自动重启它?

1、是agent的
2、obrpoxy是ocp安装的还是obd安装的
3、是的 会自动拉起

应该是ocp安装的

你可以看看现在的obproxy的启动进程 后面你可以这样手动拉起

我在另外一个节点上看是这样的

但是出问题这个节点上,没有admin用户,直接用root用户执行

/bin/bash /home/admin/obproxy/bin/obproxyd.sh -c checkalive -p 2883 -r /home/admin/obproxy -n myobproxy &

可以吗

不行 自己创建一个admin用户 如果obproxy的所属的组和所属的用户 不是admin也要改一下

那这个admin用户是不用设置密码的吧? 有没有现成的创建命令?

按照官方的文档操作就好了
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000006616045

重装有问题节点的ODP

我又重启这个节点,发现ocp不会自动把它的obproxy拉起来,不知道为何,现在只好自己写了一个system service来做这个事情。

cat > /etc/systemd/system/obproxy.service << ‘EOF’
[Unit]
Description=OceanBase OBProxy Daemon
Documentation=https://www.oceanbase.com/docs
After=network-online.target
Wants=network-online.target

[Service]

========== 基本配置 ==========

Type=simple
User=admin
Group=admin
WorkingDirectory=/home/admin/obproxy
Environment=HOME=/home/admin
Environment=USER=admin

========== 启动 / 停止 ==========

使用 checkalive 模式作为前台进程,systemd 直接监控其存活状态

ExecStart=/home/admin/obproxy/bin/obproxyd.sh
-c checkalive
-p 2883
-r /home/admin/obproxy
-n myobproxy

优雅停止:先发 SIGTERM,超时后 SIGKILL

ExecStop=/bin/kill -TERM $MAINPID
KillMode=control-group
KillSignal=SIGTERM

========== 超时控制 ==========

TimeoutStartSec=30
TimeoutStopSec=30

========== 自动重启策略 ==========

Restart=on-failure
RestartSec=5

60秒内最多重启3次,超过则标记为 failed,防止重启风暴

StartLimitIntervalSec=60
StartLimitBurst=3

========== 日志 ==========

StandardOutput=journal
StandardError=journal
SyslogIdentifier=obproxy

========== 资源限制(可选,按需调整)==========

LimitNOFILE=655350

LimitNPROC=655350

MemoryMax=8G

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload

systemctl enable --now obproxy

systemctl status obproxy

journalctl -u obproxy -f --no-pager