さて、ノード構築に関する説明の初回はまず「MGMノード」から説明します。
MGMノードの構築は以下の手順で行います。
- 各種インストール作業の実施
- ユーザの作成および設定ファイル等の作成
- MGMノードの起動と確認
(1-2) perl(Class::MethodMaker)のインストール
(1-3) ClusterStorageEngineManagementのインストール
(1-4) ClusterStorageEngineBasicToolsのインストール
(2-2) 設定ファイル等保存先ディレクトリの作成
(2-3) 設定ファイルの作成
(3-2) マネジメントクライアントの起動
以上の手順で実施します。
では早速「1.各種インストール作業の実施」からはじめます。
(1-1) perl(DBI)のインストール
perl(DBI)については、未導入の場合のみ実施します。
perl(DBI)はyumを利用して導入できます。
>yum install perl-DBI
(1-2) perl(Class::MethodMaker)のインストール
perl(Class::MethodMaker)についても、未導入の場合のみ実施します。
こちらは、yumを利用した導入が行えませんので、
CPAN等から入手して導入するか、RPMを入手して導入することになります。
ここでは、前述した方法でRPMを入手した場合の導入方法を説明します。
>rpm -ivh perl-Class-MethodMaker-2.08-1.2.el5.rf.i386.rpm
※念のため、perl(Class::MethodMaker)のRPM掲載ページ
(1-3) ClusterStorageEngineManagementのインストール
「ClusterStorageEngineManagement」にはマネジメントサーバ(ndb_mgmd)が含まれます。
該当のパッケージを公式サイトのダウンロードページから入手していることを前提に説明します。
RPM形式ですので、インストールは簡単です。
>rpm -ivh MySQL-clustermanagement-community-5.1.23-0.rhel5.i386.rpm
(1-4) ClusterStorageEngineBasicToolsのインストール
「ClusterStorageEngineBasicTools」にはマネジメントクライアント(ndb_mgm)が含まれます。
該当のパッケージを公式サイトのダウンロードページから入手していることを前提に説明します。
RPM形式ですので、インストールは簡単です。
>rpm -ivh MySQL-clustertools-community-5.1.23-0.rhel5.i386.rpm
以上で、「1.各種インストール作業の実施」は終了です。
次は、「2.ユーザの作成および設定ファイル等の作成」に進みます。
(2-1) mysqlグループ&ユーザの作成
正直、マネジメントサーバやマネジメントクライアントを操作する場合、
どのようなユーザで行うべきかという点について整理がついていないのですが、
慣習に従いここでは「mysql」というグループとユーザを作成し操作します。
>groupadd mysql
>useradd -g mysql mysql
パスワードの変更については別途実施してください。
また、「/usr/bin」および「/usr/sbin」に対してパスを設定してください。
※理由は、後ほど操作する各種バイナリーが上記フォルダに存在する為です。
(2-2) 設定ファイル等保存先ディレクトリの作成
MySQLClusterではデフォルトのディレクトリは「/var/lib/mysql-cluster」となっています。
各種パッケージをインストールすると自動的に作成されているはずですが、
念のためディレクトリの作成を行います。
>mkdir -p /var/lib/mysql-cluster
また、今回はmysqlユーザで起動しますので
該当ディレクトリの所有者をmysqlユーザに変更します。
>chgrp -R mysql /var/lib/mysql-cluster
>chown -R mysql /var/lib/mysql-cluster
(2-3) 設定ファイルの作成
MGMノードの中核をなすプロセスはマネジメントサーバプロセス(ndb_mgmd)です。
ここで作成する設定ファイル(config.ini)はそのマネジメントサーバ起動時に利用されます。
※なお、本設定内容はマネジメントサーバの挙動だけでなく、MySQLCluster全体に影響します。
まず、該当ファイルをmysqlユーザで作成する為、ユーザを変更してください。
>su - mysql
次に、先ほど作成したディレクトリ(/var/lib/mysql-cluster)に移動し「config.ini」を作成します。
>cd /var/lib/mysql-cluster
>vi config.ini
「config.ini」に記述する内容は以下の通りです。
-
[ndbd default]
-
NoOfReplicas=2
-
MaxNoOfConcurrentOperations=10000
-
DataMemory=80M
-
IndexMemory=24M
-
TimeBetweenWatchDogCheck=30000
-
DataDir=/var/lib/mysql-cluster
-
MaxNoOfOrderedIndexes=512
-
[ndb_mgmd default]
-
DataDir=/var/lib/mysql-cluster
-
[ndb_mgmd]
-
Id=1
-
HostName=10.1.100.110
-
[ndbd]
-
Id=2
-
HostName=10.1.100.120
-
[ndbd]
-
Id=3
-
HostName=10.1.100.130
-
[mysqld]
-
Id=4
-
[mysqld]
-
Id=5
設定内容については「14.4.4.1. 基本的な設定例」を参考にしてください。
[ndbd default]は全てのNDBDノードの動作についてのデフォルト設定を記載します。
[ndb_mgmd default]は全てのMGMノードの動作についてのデフォルト設定を記載します。
[ndb_mgmd]はMGMノードの動作についての設定です。
[ndbd]はNDBDノードについての設定、同様に[mysqld]はMySQLDノードについての設定です。
ここで、[ndbd]と[mysqld]は2つ記述があることに気づかれたと思います。
これはそれぞれノードが2つある為です。
また、「HostName」という記載がありますが、ここでホスト名を記載した場合、
必ず名前解決が可能な状態にしてください。
最低限の設定は以上で問題ありません。
以上で、「2.ユーザの作成および設定ファイル等の作成」」は終了です。
最後に、「3.MGMノードの起動と確認」を説明します。
(3-1) マネジメントサーバの起動
各種設定は完了しましたので、早速MGMノードを起動してみたいと思います。
起動は以下の方法で起動します。
>ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini
「--config-file」で設定ファイルを指定します。
※正常に起動できると「/var/lib/mysql-cluster」配下にログを含むファイルが作成されます。
正常に起動できればこれでMGMノードのマネジメントサーバプロセスがあがりました。
(3-2) マネジメントクライアントの起動
手順3-1でマネジメントサーバプロセスを起動しました。
最後に、マネジメントクライアントでマネジメントサーバに接続し、
設定ファイルを元にした各ノードの状態を表示してみます。
>ndb_mgm
正常にマネジメントサーバに接続されると以下のようにプロンプトが変わるはずです。
-- NDB Cluster -- Management Client --
ndb_mgm>
上記のように表示されれば、正常に接続できています。
早速、各ノードの状態を表示してみたいと思います。
ndb_mgm>show

どうでしょうか?
実行結果を見ると、[ndbd(NDB)]として「id=2」と「id=3」の2つが表示されており
いずれも「(not connected, accepting cnnect from 10.1.100.XXX)」と表示されています。
これは、「config.ini」に記載されているNDBDノードがいずれも起動していないことを表しています。
また、[mysqld(API)]として「id=4」と「id=5」の2つが表示されており
こちらも「(not connected, accepting cnnect from any host)」と表示されています。
これも同様に「config.ini」に記載されているMySQLDノードが起動されていないことを表しています。
上記の結果はNDBDノードとMySQLDノードは起動していないわけですから当然ですね。
以上で「3.MGMノードの起動と確認」の説明は終了です。
次回は「NDBDノードの構築」について説明したいと思います。
お疲れ様でした。
- Newer: MySQLClusterを試す~NDBDノードの構築~
- Older: MySQLClusterを試す~構築イメージの説明(事前準備)~
Comments:0
Trackback+Pingback:0
- TrackBack URL for this entry
- http://blog.technology-knowledge.jp/2008/04/16/120/trackback/
- Listed below are links to weblogs that reference
- MySQLClusterを試す~MGMノードの構築~ from SeeIn開発日誌
