« ホントに稼げる情報獲得術 | メイン | 今週の週刊誌 »

MySQL cluster 無停止アップグレード

         

NDB cluster のアップグレード
今回実施するのは、無停止アップグレードで、バージョンを上げる。


前提から
 先日より、バグによる全停止に悩まされる。
全停止というか、Dataノードがシャットダウンされるのだ。この要因だが

ndb_mgm> Node 4: Forced node shutdown completed.
Caused by error 1217: 'No message slogan found (please report a bug if you get this error code)(Unknown). Unknown'.
Node 3: Forced node shutdown completed. Caused by error 1217: 'No message slogan found
(please report a bug if you get this error code)(Unknown). Unknown'.
Node 4: Start initiated (version 7.1.8)


エラーレポートを報告して欲しいという旨で、トレースしか追う方法がなさそうだ。

バグレポートも確認してみたけれど、レポートできるのは最新版だけだよと、ちょっと手厳しい。
なので、この回避策としては最も有効と思われるアップグレードの対応を行う。

Ndb-cluster 7.1.8 -> 7.1.10

操作方法としては、

検証環境でテスト。2台構成なので、片寄、イニシャル、片寄 でアップグレード対応。
本番では4台。

ファイルを配備
serverA
scp ./*-7.1.10-1.rhel5.x86_64.rpm serverB:/usr/local/src/


それぞれの管理ノードをダウンさせる。その後更新処理。

         


rpm -Uvh MySQL-Cluster-gpl-management-7.1.10-1.rhel5.x86_64.rpm
準備中... ########################################### [100%]
1:MySQL-Cluster-gpl-manag########################################### [100%]

アップグレードマネージメントノードを再起動

途中

ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @192.168.1.12 (mysql-5.1.47 ndb-7.1.8, Nodegroup: 0, Master)
id=4 @192.168.1.13 (mysql-5.1.47 ndb-7.1.8, Nodegroup: 0)

[ndb_mgmd(MGM)] 2 node(s)
id=1 @192.168.1.12 (mysql-5.1.47 ndb-7.1.8)
id=2 @192.168.1.13 (mysql-5.1.51 ndb-7.1.10)


完了後

[ndb_mgmd(MGM)] 2 node(s)
id=1 @192.168.1.12 (mysql-5.1.51 ndb-7.1.10)
id=2 @192.168.1.13 (mysql-5.1.51 ndb-7.1.10)


config.ini に
今回追加の項目を付与。
### TransactionInactiveTimeout - should be enabled in Production
TransactionInactiveTimeout=60000
### New 7.1.10 redo logging parameters
RedoOverCommitCounter=3
RedoOverCommitLimit=20

この値はデフォルト。
コンフィグの解説のよれば

Redo log over-commit handling. Beginning with MySQL Cluster NDB 7.1.10, it is possible
to control the data node's handling of operations when too much time is taken flushing
redo logs to disk.
This occurs when a given redo log flush takes longer than RedoOverCommitLimit seconds,
more than RedoOverCommitCounter times, causing any pending transactions to be aborted.
When this happens, the API node that sent the transaction can handle the operations
that should have been committed either by queuing the operations and re-trying them,
or by aborting them, as determined by DefaultOperationRedoProblemAction.
The data node configuration parameters for setting the timeout and number of times it
may be exceeded before the API node takes this action are described in the following list:

だそう。とりあえず様子見なので、デフォルトにて確認。


続いて、SQLノードにて

# rpm -Uvh ./MySQL-Cluster-gpl-client-7.1.10-1.rhel5.x86_64.rpm
準備中... ########################################### [100%]
1:MySQL-Cluster-gpl-clien########################################### [100%]
# rpm -Uvh ./MySQL-Cluster-gpl-shared-7.1.10-1.rhel5.x86_64.rpm
準備中... ########################################### [100%]
1:MySQL-Cluster-gpl-share########################################### [100%]
# rpm -Uvh MySQL-Cluster-gpl-server-7.1.10-1.rhel5.x86_64.rpm
準備中... ########################################### [100%]
Giving mysqld 5 seconds to exit nicely
1:MySQL-Cluster-gpl-serve########################################### [100%]

SQLノードを再起処理。

最後、マネージメントノードより、対象を停止。アップグレード

ndb_mgm -e 3 stop

データノードにて

# rpm -Uvh ./MySQL-Cluster-gpl-storage-7.1.10-1.rhel5.x86_64.rpm
準備中... ########################################### [100%]
1:MySQL-Cluster-gpl-stora########################################### [100%]
# rpm -Uvh MySQL-Cluster-gpl-tools-7.1.10-1.rhel5.x86_64.rpm
準備中... ########################################### [100%]
1:MySQL-Cluster-gpl-tools########################################### [100%]


イニシャルモードでデータノードを再起させる。

/etc/rc.d/init.d/ndbmtd initial

を実施後に、マネージャーから、 3 start などで、クラスターをスタートさせる。

一度やってしまったのが、バックアップは、タスク変更中にはできない。
また、先にバックアップタスクが走っているときに実施すると、sendbufferが足りなくなり落ちた。

ご注意を。

トラックバック

このエントリーのトラックバックURL:
http://www.ostl.net/blog/mt-tb.cgi/628

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2011年03月23日 23:58に投稿されたエントリーのページです。

ひとつ前の投稿は「ホントに稼げる情報獲得術」です。

次の投稿は「今週の週刊誌」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
MT3系