MySQL Clusterの3つの構成要素の最後である「MySQLDノード」を構築します。
(重要)
執筆後一年以上が経過しており、一部内容が古い部分がございます。
具体的には、下記エントリーに補足をしておりますので、併せてご確認下さい。
MySQLDノードは実際にクライアントから接続されるノードとなります。
作業としては、NDBDノード同様に「10.1.100.140」および「10.1.100.150」の両方に作業を実施します。
※以下は、「10.1.100.140」に対する作業を前提に説明しています。
MySQLDノードの構築は以下の手順で行います。
- 各種インストール作業の実施
- 設定ファイルの修正
- ノードの起動と確認
(1-2) MySQL Serverのインストール
(1-3) MySQL Clientのインストール
(1-4) MySQL Serverの停止
(3-2) マネジメントクライアントによる接続の確認
以上の手順で実施します。
では早速「1.各種インストール作業の実施」からはじめます。
(1-1) perl(DBI)のインストール
perl(DBI)については、未導入の場合のみ実施します。
perl(DBI)はyumを利用して導入できます。
>yum install perl-DBI
(1-2) MySQL Serverのインストール
「MySQL Server」はいわゆる通常に利用しているMySQL Serverと同じものです。
該当のパッケージを公式サイトのダウンロードページから入手していることを前提に説明します。
RPM形式ですので、インストールは簡単です。
>rpm -ivh MySQL-server-community-5.1.23-0.rhel5.i386.rpm
RPMからインストールを行うと、MySQLユーザの作成やプロセスの起動等が自動的に行われます。
(1-3) MySQL Clientのインストール
「MySQL Client」は直接的にMySQL Clusterに必要ではありませんが、MySQL Serverの
起動や停止に利用する「mysqladmin」が含まれる為、あらかじめ導入しておきます。
該当のパッケージを公式サイトのダウンロードページから入手していることを前提に説明します。
RPM形式ですので、インストールは簡単です。
>rpm -ivh MySQL-client-community-5.1.23-0.rhel5.i386.rpm
(1-4) MySQL Serverの停止
手順1-1で説明したようにMySQL ServerをRPMを利用してインストールすると、
ユーザの作成だけでなく、プロセスの起動まで行われてしまいます。
今回、インストール直後に作成された設定ファイルのままでは
MGMノード側に接続されずMySQL Clusterに参加できません。
そこで、設定ファイル(my.cnf)を修正する前に、まずはプロセスを停止させます。
>su - mysql
>mysqladmin shutdown
以上の手順でMySQL Serverは停止します。
念のため、MySQLに関するプロセスが起動していないか確認します。
※確認はrootまたは同等の権限を持つユーザにて確認してください。
>ps -ef | grep mysql
「mysqld_safe」や「mysqld」と名前に含まれるプロセスが起動していなければ問題ありません。
以上で、「1.各種インストール作業の実施」は終了です。
次は、「2.設定ファイルの修正」に進みます。
(2-1) 設定ファイルの修正
MySQL ServerをMySQL Clusterに参加させる為には、設定ファイル(my.cnf)に
一部修正(パラメータの追加)を行う必要がありますが、本手順通りに実行している場合、
「/etc/my.cnf」が存在しません。
ですので、テンプレート(「my-large.cnf」等)から「my.cnf」を作成し、
それを「/etc」に配置した上で、必要なパラメータを追加します。
>cp /usr/share/doc/MySQL-server-community-5.1.23/my-large.cnf /etc/my.cnf
コピーが終わったら、次に必要なパラメータを追加する為、「vi」等で「/etc/my.cnf」を編集します。
>vi /etc/my.cnf
追加・修正内容は以下の通りです。
-
[mysqld]
-
port = 3306
-
socket = /var/lib/mysql/mysql.sock
-
(中略)
-
thread_concurrency = 8
-
#以下追加する内容
-
ndbcluster
-
ndb-connectstring=10.1.100.110
※「default-character-set」等、利用に際して必要な設定は必要に応じて別途行ってください。
「ndbcluster」と「ndb-connectstring」を[mysqld]部分に追加しています。
「ndb-connectstring」にはMGMノードのIPを設定します。
以上で設定ファイルの修正は終了です。
以上で、「2.設定ファイルの修正」」は終了です。
最後に、「3.ノードの起動と確認」を説明します。
(3-1) MySQLDノードの起動
設定ファイルの修正も終わりましたので、再度MySQL Serverを起動します。
特に通常のMySQL Serverの起動方法と変わりはありません。
>mysqld_safe &
(3-2) マネジメントクライアントによる接続の確認
MySQLDノードを起動しましたので、MGMノードに正常に接続されているか確認します。
ndb_mgm>show

以前はMySQLDノードのいずれも「not connected」となっていたものが
「id=4」については、接続されている為、スタータスが表示されています。
※「id=5」については、この時点では起動していない為やはり「not connected」のまま
以上で「3.ノードの起動と確認」の説明は終了です。
冒頭でも説明しましたが、上記の手順を10.1.100.150のMySQLDノードに対しても実施します。
全てのノードの起動が完了しました。
次回は「MySQLCluster構築結果の確認」ということで、
実際にテーブルの作成や操作を行い、MySQL Clusterの動作について説明します。
お疲れ様でした。
Technorati Tags: MySQL, Cluster
MySQL Clusterの環境構築について(変更点の概要)
Comments:6
- danbo-ace 09-02-19 (木) 16:19
-
このサイトを大変参考にさせていただいております。
SQLノードの構築を行っているのですが、以下の現象が発生して起動できません。
管理ノード、データノードは正常に動作しております。
①/etc/my.cnfの内容はサイトを参考にさせていただきました。
②サーバーを起動
/etc/rc.d/init.d/mysql start
Starting MySQL…Manager of pid-file quit without updating [FAILED]環境は以下の環境を使用しています。
環境:
OS:CentOS5.2
クラスタ:
MySQL-Cluster-gpl-server-6.3.20-0.rhel4.i386.rpm
MySQL-Cluster-gpl-client-6.3.20-0.rhel4.i386.rpm
サーバー:
MySQL-server-community-5.1.31-0.rhel4.i386.rpm
MySQL-client-community-5.1.31-0.rhel4.i386.rpm
MySQLサーバーを再インストールしたりしていますが、解決方法が
わかりません。
ご教授お願いいたします。 - danbo-ace 09-02-20 (金) 16:00
-
danbo-aceです。
/var/log/mysqls/mysql.logのログは以下のとおりです。
090219 16:06:34 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. Created with MySQL 50067, now running 50130. Please use mysql_upgrade to fix this error.
090219 16:06:34 [ERROR] mysql.user has no `Event_priv` column at position 29
090219 16:06:34 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler. - danbo-ace 09-02-20 (金) 16:02
-
もう、記事が古いためか、ここに質問しても回答してもらえず意味がないのでしょうか?
とても残念です。 - danbo-ace 09-02-20 (金) 16:04
-
SQLノードは記事の設定だとできないと思います。
何か他に設定しているんでしょうか? - danbo-ace 09-02-20 (金) 21:16
-
このサイトは閉鎖されてしまったのでしょうか?
サイト運営元の会社はもしかして倒産してしまったのでしょうか? - sin20xx 09-07-09 (木) 9:44
-
>danbo-ace様
ご返信が送れており大変申し訳ありませんでした。
現在CentOS5.2の環境がありませんが、週末には準備して確認してみます。
ご指摘のように掲載のない用は当時のバージョンと設定によるものにですので、もしかすると一部変更が必要かもしれません。
検証が終わり次第、文中の内容に変更が必要な場合は再度記事にしてお答えできるようにしたいと思います。
今しばらくお待ち下さい。
Trackback+Pingback:0
- TrackBack URL for this entry
- http://blog.technology-knowledge.jp/2008/04/16/124/trackback/
- Listed below are links to weblogs that reference
- MySQLClusterを試す~MySQLDノードの構築~ from SeeIn開発日誌
