我已经设置了一个带有Mysql后端的Rundeck集群。
VM1: Rundeck1 + Mysql data node 1
VM2: Rundeck2 + Mysql data node 2
VM3: Management Node
NFS:Projects文件夹共享+ / 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;
请帮助。
答案 0 :(得分:1)
尝试根据您的要求将 innodb_lock_wait_timeout 的值增加到一个值。尝试值为3000示例。
SET GLOBAL innodb_lock_wait_timeout = 3000;
120看起来很低..
还尝试 show processlist 命令并使用kill命令终止一些长时间运行的查询