config.iniの基本

config.iniの基本

 config.iniファイルの中身はmy.cnf(my.ini)ファイルと同様、かっこ([と])で囲まれたセクション名を用いて記述します。セクション名は各ノードの種類に対応していて、それぞれ管理ノードが[mgm]、データノードが[ndbd]、SQLノードが[mysqld]です。それぞれ別名もありますが、紛らわしいのでここで挙げた名前を使うといいでしょう。

 config.iniはmy.cnfとは違い、ノードごとにそれぞれセクションを1つ記載する必要があります。例えば、データノードが4台ある場合、[ndbd]というセクションが4つ必要になります。

 各種ノードは複数存在することが多いのですが、各種ノードの共通の構成情報を効率的に記述するためのセクションがあります。それぞれ[mgm default]、[ndbd default]、[mysqld default]のようにセクション名に「default」という部分が追加されます。これらデフォルトの構成情報は、個別の構成情報を記述する前に記載しなければなりません。もちろん、複数ノードが存在しない場合やそれぞれ構成情報を記載する場合は、defaultセクションは省略可能です。

 今回使用するconfig.iniを図2に示します。今回はSolarisゾーンを使っているため割り当てるメモリを最小構成にしているので、実用的な構成ではありません。この構成によるメモリの消費量はデータノードあたり約300MBです。実運用で使用する場合には割り当てるメモリを増やしてください。設定可能な主要パラメータについては次回解説します。

 MySQL 5.1 リファレンスマニュアルの「14.4.4. 設定ファイル(http://dev.mysql.com/doc/refman/5.1/ja/mysql-cluster-config-file.html)」に変更可能なパラメータがすべて載っていますので、パラメータの調整にチャレンジする場合には参照してください。

 また、config.iniの作成を支援する便利なツールとして、「Configuration Tool for MySQL Cluster(http://www.severalnines.com/config/)」を紹介しておきます。ウィザード形式で必要な情報を入力していくとconfig.iniができあがります。

 config.iniの準備ができたら管理ノードを起動しましょう。グローバルゾーンから操作を開始するには、まずzloginでmgmゾーンへ接続します。

shell# zlogin mgm

 そして、mgmへユーザーを変更し、プロセスを起動します。

shell@mgm# su - mgm
shell@mgm> ndb_mgmd -f /var/lib/mysqlcluster/config.ini

 すぐにプロンプトが戻ってきますので、ndb_mgm管理クライアントで接続してみましょう。

shell@mgm> ndb_mgm

 接続が成功すると、SHOWコマンドで各ノードの状態を見ることができます。

ndb_mgm> SHOW

データノード

 管理ノードが起動すると、データノードを起動することができます。データノードを起動するにはUNIXシェルからndbdコマンドを実行します。セキュリティー上の脅威を少しでも減らすため、ndbdコマンドを実行するユーザーはroot以外のユーザーで行いましょう。今回の例ではndbというユーザーを使用します。管理ノードと同様の手順で各データノードにおいてndbというユーザーを作成してください。ndbdを起動するコマンドは次のようになります。

shell> ndbd --connect-string=192.168.1.40 --nostart

 --connect-stringは管理ノードへのアドレスを指定するパラメータです。データノードは必要な情報をすべて管理ノードから受け取ります。従って、--connect-string以外に設定するべきパラメータはあまり多くありません。

 データノードは起動時にほかのノードが起動していないとタイムアウトを起こしてしまいます。--nostartを指定しておくとデータノードは起動する直前で待機し、その後管理ノードから一斉に起動するという操作が可能になります。

 これらのパラメータは/etc/my.cnfにおいて[mysql_cluster]セクションに記述することができます。

[mysql_cluster]
connect-string=192.168.1.40
nostart

 このように/etc/my.cnfに設定を書いておけば、引数なしにndbdと入力するだけでデータノードを起動することが可能です。/etc/my.cnfがこのように設定されていて、なおかつndbというユーザーが居ると仮定すると、data1ゾーンで次のコマンドを実行することでプロセスを起動することができます。

shell@data1# su - ndb
shell@data1> ndbd

 data2~data4ゾーンにおいてもndbdを起動しましょう。

 ここまで準備ができたら、管理ノードからデータノードを開始します。まずは管理ノードに接続しましょう。

shell> su -
shell# zlogin mgm

 そして、mgmへユーザーを変更し、ndb_mgm管理クライアントを起動します。

shell> ndb_mgm

 接続ができたら、管理クライアントのプロンプト(ndb_mgm>)から次のコマンドを実行します。

ndb_mgm> ALL START

 各ノードの状態を見るには、STATUSコマンドを使用します。

ndb_mgm> ALL STATUS

 ステータスがstartedとなっていれば起動は成功です。次は、SQLノードについて説明しましょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30