MySQL Clusterのインストールと初期設定

MySQL Cluster調査のためにインストール、初期設定をしました。その方法をメモ。

構成

  • 192.168.1.150 (CentOS5) : 管理ノード
  • 192.168.1.210 (CentOS5) : データノード+SQLノード
  • 192.168.1.208 (CentOS5) : データノード+SQLノード

インストール


管理ノードにインストールするソフトウェア

Cluster storage engine management

wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-management-7.0.6-0.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-management-7.0.6-0.rhel5.i386.rpm

Cluster storage engine basic tools

wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-tools-7.0.6-0.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-tools-7.0.6-0.rhel5.i386.rpm

以下はインストールされていないのみ、インストールしてください。
perl-DBI

yum -y install perl-DBI

perl-Class-MethodMaker

wget http://dag.wieers.com/rpm/packages/perl-Class-MethodMaker/perl-Class-MethodMaker-2.08-1.2.el5.rf.i386.rpm
rpm -ivh perl-Class-MethodMaker-2.08-1.2.el5.rf.i386.rpm

データノード+SQLノードにインストールするソフトウェア

Cluster storage engine

wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-storage-7.0.6-0.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-storage-7.0.6-0.rhel5.i386.rpm

Server

wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-server-7.0.6-0.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-server-7.0.6-0.rhel5.i386.rpm

Client

wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-Cluster-7.0/MySQL-Cluster-gpl-client-7.0.6-0.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-client-7.0.6-0.rhel5.i386.rpm

以下はインストールされていないのみ、インストールしてください。

perl-DBI

yum -y install perl-DBI

初期設定


管理ノードの設定

/var/lib/mysql-cluster/config.iniファイルに、以下のように入力します。

 [NDBD DEFAULT]
 NoOfReplicas = 1
 DataDir = /var/lib/mysql-cluster
 ServerPort = 63132
 [MGM]
 Id = 1
 HostName = 192.168.1.150
 DataDir = /var/lib/mysql-cluster
 [NDBD]
 Id = 11
 HostName = 192.168.1.210
 [NDBD]
 Id = 12
 HostName = 192.168.1.208
 [MYSQLD]
 Id = 21
 HostName = 192.168.1.210
 [MYSQLD]
 Id = 22
 HostName = 192.168.1.208

管理ノードの設定が終わったので、 管理コンソールを立ち上げ、管理ノードが起動しているか、起動時のクラスタの構成を確認します。

 ndb_mgm
 ndb_mgm> show
 Cluster Configuration
 ---------------------
 [ndbd(NDB)]     2 node(s)
 id=11 (not connected, accepting connect from 192.168.1.210)
 id=12 (not connected, accepting connect from 192.168.1.208)
 [ndb_mgmd(MGM)] 1 node(s)
 id=1    @192.168.1.150  (mysql-5.1.34 ndb-7.0.6)
 [mysqld(API)]   2 node(s)
 id=21 (not connected, accepting connect from 192.168.1.210)
 id=22 (not connected, accepting connect from 192.168.1.208)

データノード+SQLノードの設定

インストールされたはずの
/usr/share/doc/MySQL-Cluster-gpl-server-7.0.6/my-large.cnf
を雛形として、/etc/my.cnfに設定ファイルを作成します。

[mysqld]セクションに

 ndbcluster
 ndb-connectstring = 192.168.10.1

[mysql_cluster] セクションを追加して、

 ndb-connectstring = 192.168.10.1

を追記します。

設定が終わったので、各データノード、SQLノードをそれぞれ起動して、ndbclusterストレージエンジンが有効になっていることを確かめます。

 shell>ndbd --initial
 shell>mysqld_safe --user=mysql &
 mysql> show engines;
 +------------+---------+----------------------------------------------------------------+--------------+------+------------+
 | Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
 +------------+---------+----------------------------------------------------------------+--------------+------+------------+
 | ndbcluster | YES     | Clustered, fault-tolerant tables                               | YES          | NO   | NO         |

管理ノードでデータノード+SQLノードが起動しているか確認します。

 ndb_mgm>show
 Cluster Configuration
 ---------------------
 [ndbd(NDB)]     2 node(s)
 id=11   @192.168.1.210  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master)
 id=12   @192.168.1.208  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 1)
 [ndb_mgmd(MGM)] 1 node(s)
 id=1    @192.168.1.150  (mysql-5.1.34 ndb-7.0.6)
 [mysqld(API)]   2 node(s)
 id=21   @192.168.1.210  (mysql-5.1.34 ndb-7.0.6)
 id=22   @192.168.1.208  (mysql-5.1.34 ndb-7.0.6)

クラスタを使用する宣言


クラスタを使用するかどうかはテーブルごとに決定できます。

 mysql>CREATE TABLE test (i INT) ENGINE=NDB;

とテーブル作成時にENGINE=NDBと宣言すれば、クラスタを使用するテーブルが作成できます。

コメントをどうぞ


ホーム | RSS | 採用情報 | 会社情報