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 にしてみてください。

SET GLOBAL innodb_lock_wait_timeout = 3000;

120は低そうですよね…

また、 show processlistコマンドを試し、kill コマンドを使用して実行時間の長いクエリの一部を強制終了します。

于 2015-11-26T07:29:03.587 に答える