MySQL Cluster をサポートするには
my.cnf
を以下の例に基づいて更新する必要があります。ここに示すオプションを
config.ini
ファイルに使用したオプションと混同しないように注意してくだささい。実行ファイルを実行する際にコマンドラインでこれらのパラメータを指定することもっできます。
# my.cnf # example additions to my.cnf for MySQL Cluster # (valid in MySQL 5.1) # enable ndbcluster storage engine, and provide connectstring for # management server host (default port is 1186) [mysqld] ndbcluster ndb-connectstring=ndb_mgmd.mysql.com # provide connectstring for management server host (default port: 1186) [ndbd] connect-string=ndb_mgmd.mysql.com # provide connectstring for management server host (default port: 1186) [ndb_mgm] connect-string=ndb_mgmd.mysql.com # provide location of cluster configuration file [ndb_mgmd] config-file=/etc/config.ini
(接続文字列に関する詳細は、項14.4.4.2. 「クラスタの 接続文字列
」
を参照してください。)
# my.cnf # example additions to my.cnf for MySQL Cluster # (will work on all versions) # enable ndbcluster storage engine, and provide connectstring for management # server host to the default port 1186 [mysqld] ndbcluster ndb-connectstring=ndb_mgmd.mysql.com:1186
重要前述のように
mysqld プロセスを
my.cnf
ファイルの
[MYSQLD]
にある
ndbcluster
および
ndb-connectstring
パラメータで実行すると、CREATE
TABLE
あるいは ALTER TABLE
ステートメントをクラスタを実際に始めるまでは実行できなくなります。または、これらのステートメントはエラーが表示されて失敗します。これは設計によります。
クラスタ のmy.cnf
ファイルの個別の [mysql_cluster]
セクションを使用して設定を読み込んですべての実行ファイルで使用することもできます。
# cluster-specific settings [mysql_cluster] ndb-connectstring=ndb_mgmd.mysql.com:1186
my.cnf
ファイルで設定できる他の NDB
変数については
項4.2.3. 「システム変数」
を参照してください。
設定ファイルはデフォルトで
config.ini
の名前になっています。設定ファイルは起動時に
ndb_mgmd
で読み込まれどこにでも配置できます。そのロケーションと名前は
ndb.mgmd のコマンドラインにある
--config-file=
を使用して指定できます。設定ファイルが指定されていない場合、ndb_mgmd
がデフォルトで現在の動作中のディレクトリにある
path_name
config.ini
ファイルを読み込もうとします。
現在設定ファイルは INI
フォーマットで、最初にセクションの見出しのあるセクション(角括弧で括られている)で構成され、その後に適切なパラメータ名や値が続きます。標準の
INI
フォーマットと違うところはパラメータ名や値がコロン
(‘:
’) および等号記号
(‘=
’)
で分離できることです。もう一箇所違うところはセクションがセクション名で独自に認識されないことです。その代わり、独自のセクション
(同じ種類の異なる 2 つのノードなど)
はセクション内のパラメータとして指定された独自の
ID で認識されます。
デフォルト値は殆どのパラメータに定義され、config.ini
で指定することもできます。デフォルト値のセクションを作成するには、単に単語
DEFAULT
をセクション名に追加するだけです。例えば、[NDBD]
セクションは特定のデータノードに適用されるパラメータを含み、[NDBD
DEFAULT]
セクションはすべてのデータノードに適用されるパラメータを含みます。すべてのデータノードが同じデータのメモリ容量を使用するものと仮定します。それらをすべて設定するには、DataMemory
ラインを含む [NDBD DEFAULT]
セクションを作成してデータのメモリ容量を指定します。
最低の設定でも、設定ファイルはクラスタに使用されるコンピュータやノードを定義し、それらのコンピュータのこれらのノードが属します。1 台のマネジメント サーバー、2 台のデータノードおよび 2 台の MySQL サーバーで構成した簡素な設定ファイルの例をここに示します。
# file "config.ini" - 2 data nodes and 2 SQL nodes # This file is placed in the startup directory of ndb_mgmd (the # management server) # The first MySQL Server can be started from any host. The second # can be started only on the host mysqld_5.mysql.com [NDBD DEFAULT] NoOfReplicas= 2 DataDir= /var/lib/mysql-cluster [NDB_MGMD] Hostname= ndb_mgmd.mysql.com DataDir= /var/lib/mysql-cluster [NDBD] HostName= ndbd_2.mysql.com [NDBD] HostName= ndbd_3.mysql.com [MYSQLD] [MYSQLD] HostName= mysqld_5.mysql.com
各ノードはそれぞれ独自のセクションを
config.ini
に持つ必要があります。例えば、このクラスタには
2
台のデータノードがあるので、前述の設定ファイルにはこれらのノードを定義する
2 つの [NDBD]
セクションがあります。
以下のリストに示すように、config.ini
設定ファイルで使用できる異なる 6
つのセクションがあります。
[COMPUTER]
:クラスタのホストを定義します。これは実際の
MySQL
クラスタの設定には必要ありませんが、大きなクラスタを設定する際に使用すると便利です。詳細については、項14.4.4.3. 「クラスタ コンピュータの定義」
をご参照してください。
[NDBD]
:クラスタ データノード
(ndbd プロセス)
の定義します。詳細は、項14.4.4.5. 「Defining Data Nodes」
を参照してください。
[MYSQLD]
:クラスタ MySQL
サーバーノード (SQL または API
ノードとも呼ばれている)
を定義します。SQL
ノード設定の説明については
項14.4.4.6. 「SQL および他の API ノードの定義」
を参照してください。
[MGM]
あるいは
[NDB_MGMD]
:クラスタ
マネジメント サーバー (MGM)
ノードを定義します。MGM
ノードの設定に関する情報は
項14.4.4.4. 「マネジメント サーバーの定義」
を参照してください。
[TCP]
:TCP/IPがデフォルトの接続プロトコルの場合のクラスタ
ノード間の TCP/IP
接続を定義します。通常、[TCP]
あるいは [TCP DEFAULT]
セクションは、クラスタが自動的にこれを行うので
MySQL Cluster
の設定には必要はありませんが、クラスタにより提供されたデフォルトをオーバーライドする際に必要になる場合があります。利用できる
TCP/IP
の設定パラメータおよびその使用方法については
項14.4.4.7. 「Cluster TCP/IP Connections」
を参照してください。(項14.4.4.8. 「直接接続を使用した TCP/IP の接続」
にもこのTCP/IP
に関する情報を載せてあります。)
[SHM]
:ノード間の共有メモリの接続を定義します。MySQL
5.1
では、それはデフォルトで有効になっていますが現在はまだ試験段階です。SHM
のインターコネクトの説明に付いては
項14.4.4.9. 「共有メモリ接続」
を参照してください。
[SCI]
:クラスタノード間のスケーラブル
コヒーラント
インターフェースの接続を定義します。そのような接続に
MySQL Sluster
のディストリビューションには含まれていないが、自由に入手できるソフトウェアと特定のハードウェアが必要です。SCI
のインターコネクトに関する詳細は
項14.4.4.10. 「SCI トランスポート接続」
を参照してください。
各セクションに対して DEFAULT
の値を定義できます。すべてのクラスタのパラメータは重要なパラメータで、my.cnf
あるいは my.ini
ファイルで指定されたパラメータとは異なります。