[求助]其他组件正常,ocp-express启动失败,java进程退出,看日志是卡在“INSERT INTO `ocp_metric_expr_config`(`metric`,`expr`) VALUES ('active_memstore_percent'” ,报错“Caused by: java.net.SocketTimeoutException: Read timed out”帮忙看看啥问题。

【 使用环境 】 测试环境
【 OB or 其他组件 】ocp-express 启动失败
【 使用版本 】4.1
【问题描述】ocp-express启动失败
【复现路径】使用命令行模式安装集群, 已经修改了“ob_query_timeout”参数之后,其他组件启动成功的,比如(obproxy-ce启动成功),到了步骤ocp-express启动检查时,发现ocp-express启动后报错退出了java进程。

【问题现象及影响】
用命令行安装集群方式, 到了ocp-express启动后,检查失败,查看日志,
看日志是卡在“INSERT INTO ocp_metric_expr_config(metric,expr) VALUES (‘active_memstore_percent’” ,…
报错“Caused by: java.net.SocketTimeoutException: Read timed out”请大牛帮忙看看。
Caused by: java.sql.SQLException: execute sql task failed. task: ocp_metric_expr_config, sql:INSERT INTO ocp_metric_expr_config(metric,expr) VALUES (‘active_memstore_percent’,‘100 * sum(ob_sysstat{stat_id=“130000”,@LABELS}) by (@GBLABELS) / sum(ob_sysstat{stat_id=“130002”,@LABELS}) by (@GBLABELS)’) ON DUPLICATE KEY UPDATE expr=‘100 * sum(ob_sysstat{stat_id=“130000”,@LABELS}) by (@GBLABELS) / sum(ob_sysstat{stat_id=“130002”,@LABELS}) by (@GBLABELS)’

Caused by: java.sql.SQLNonTransientConnectionException: (conn=1048659) Connection timed out

Caused by: com.oceanbase.jdbc.internal.util.exceptions.OceanBaseSqlException: Connection timed out

Caused by: java.sql.SQLNonTransientConnectionException: Read timed out
然后ocp-express的java进程自己退出了。

【附件】
1、测试环境
2、OCPexpress启动失败,其他组件正常。
3、错误信息详见截图:
4、错误日志已经提供。


bootstrap.log (22.1 KB)
obd.txt (111.8 KB)

1、修改的是哪个租户对应的ob_query_timeout 变量呢?
2、是如何修改的,需要修改全局变量,比如:set global ob_query_timeout=3600000000;
3、提供一下obd cluster edit-config ${deploy_name} 附件
4、麻烦在192.168.38.44主机上使用root用户执行,将前台完整的输出贴一下

 cd /data/OceanDB/ocp-server

 java -jar -Xms1g -Xmx1g -DJDBC_URL=jdbc:oceanbase://192.168.38.44:2883/ocp_express -DJDBC_USERNAME=root -DJDBC_PASSWORD= -DPUBLIC_KEY= -Docp.iam.encrypted-system-password=oceanbase /data/OceanDB/ocp-server/lib/ocp-express-server.jar --port=8180 --bootstrap --progress-log=/data/OceanDB/ocp-server/log/bootstrap.log --with-property=logging.file.max-size:100MB --with-property=logging.file.total-size-cap:1GB --with-property=server.servlet.session.timeout:30m --with-property=obsdk.connector.init.timeout.millis:7200000 --with-property=obsdk.operation.global.timeout.millis:7200000 --with-property=obsdk.socket.connect.timeout.millis:7200000 --with-property=obsdk.socket.read.timeout.millis:7200000 --with-property=logging.file.name:/data/OceanDB/ocp-server/log/ocp-express.log 

你这机器是几核多少内存多少磁盘。我安装的时候也是这样。我的原因是硬件资源不够(按照官网提供的4c10G)后边换成了8c16G一次成功了

解决了,是机器系统本身的配置,
真正的解决方法是:
1、修改文件 # vi /etc/ssh/sshd_config
找到
#ClientAliveInterval 0
#ClientAliveCountMax 3
修改为
ClientAliveInterval 60
ClientAliveCountMax 3

ClientAliveInterval 表示服务端向客户端请求消息的时间间隔,默认0,不发送。改为60秒发送一次保持长连接。
ClientAliveCountMax 默认即可,表示服务器发送请求后客户端没有响应的次数达到该值,就自动断开。
2.重启sshd服务
systemctl restart sshd

3.再次执行obd cluster start obtest,成功,截图如下:


已经解决,看我的回复。