0

我已经设置了一个带有 Mysql 后端的 Rundeck 集群。

VM1: Rundeck1 + Mysql data node 1
VM2: Rundeck2 + Mysql data node 2
VM3: Management Node

NFS:共享项目文件夹 + /var/logs 共享

my.cnf 设置:

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
socket = /tmp/mysql.sock

default-storage-engine=NDBCLUSTER

ndbcluster

innodb_lock_wait_timeout = 120
lock-wait-timeout= 120

[mysql_cluster]
ndb-connectstring= xx.x.xxx.xx # location of management server

每当我创建项目并运行作业时,它都会不断出现以下错误:

An Error Occurred
Lock wait timeout exceeded; try restarting transaction

但工作运行良好并完成。我可以从 rundeck 项目的活动部分看到这一点。

我也已经设置了以下内容:

 @@GLOBAL.tx_isolation, @@tx_isolation, @@session.tx_isolation;

请帮助。

4

1 回答 1

1

尝试根据您的要求将innodb_lock_wait_timeout的值增加到一个值。尝试将值增加到 3000 示例。

设置全球 innodb_lock_wait_timeout = 3000;

120看起来太低了。。

还可以尝试show processlist命令并使用 kill 命令杀死一些长时间运行的查询

于 2015-11-26T07:29:03.587 回答