MySQL Cluster(primary/primary)のインストールその2[データノード/SQLノードのインストール]

サーバー データベース アプリケーション別 MySQL / MySQL Cluster

広報:齊藤 メイ 広報:齊藤 メイ

Posted on 2009年04月23日(木)20:41


MySQL Cluster(primary/primary)のインストールその2[データノード/SQLノードのインストール]

MySQL clusterは「waku2とらふぃっくすHAクラスタ化プロジェクト」のひとつです。 PCエンジンデータベースをはじめ現在のデータベースはpostgreSQLで稼動していますが、これを機会に移行も行う予定です。 本日は、「MySQL Cluster(primary/primary)のインストール[データノード/SQLノードのインストール]」についてです。

こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。 本日は、「MySQL Cluster(primary/primary)のインストール[データノード/SQLノードのインストール]」についてです。

関連記事:

【中古】 Xen徹底入門 オープンソースで実現するOS仮想化環境 / 平 初, 長谷川 猛, 宮本 久仁男, 大島 孝子 / 翔泳社 [大型本]【メール..

【中古】 Xen徹底入門 オープンソースで実現するOS仮想化環境 / 平 初, 長谷川 猛, 宮本 久仁男, 大島 孝子 / 翔泳社 [大型本]【メール..
355 円 (税込)
著者:平 初, 長谷川 猛, 宮本 久仁男, 大島 孝子出版社:翔泳社サイズ:大型本ISBN-10:4798114472ISBN-13:9784798114477■こちらの商品もオススメです ● Linuxプログラマーズ辞典 / リチャード ピーターセン, 武藤 健志, Richard Petersen, 竹内 里佳 / 翔泳社 [単行本] ●..
楽天ウェブサービスセンター CS Shop


貴重な情報ありがとうございます。深く感謝の意を表します。
参考:

管理ノード/SQLノード/データノードと必要になる。 ここでの構成は以下の通り。(xenが前提です。洒落のつもりはないです)

  • (Domain-0)
    mikeneko.waku2traffics.com
    eth1
    10.0.0.20
    管理ノード
  • (Domain-U)
    buchineko.waku2traffics.com
    eth1
    10.0.0.21
    データノード/SQLノード
  • (Domain-0)
    toraneko.waku2traffics.com
    未使用
    ※いつか管理ノードを冗長化させたい
  • (Domain-U)
    shironeko.waku2traffics.com
    eth1
    10.0.0.31
    データノード/SQLノード

OS:CentOS5.2 x86_64版

データノード/SQLノードのインストール

対象は、

  • buchineko.waku2traffics.com
  • shironeko.waku2traffics.com

の2台。

CPANのインストールはしておく。

rootに戻っておく。


perlモジュールのコンパイルに必要なgcc関連をインストール


perl(DBI)のインストール


RPMからのインストールなので、DL場所に移動(猫ITソリューションズの環境における場合)


最新版の確認。

※CentOS 5.2 なので Red Hat Enterprise Linux 5 用の RPM をダウンロードします。
http://dev.mysql.com/downloads/cluster/index.html
http://dev.mysql.com/downloads/cluster/index.html#rhel5_amd64

Client のダウンロード


Cluster storage engine のダウンロード


Server のダウンロード


ダウンロードファイルの確認


Client のインストール


Cluster storage engine のインストール


Server のインストール


MySQL起動


rootパスワード設定


mysqlグループ&ユーザ作成&パス追加

※Serverのインストールですでに追加されていると思うが念のため


ディレクトリ所有者変更


MySQL特権テーブルの作成

※データノードが別の場合は必要ない、かも。今回はどうにも動かんのでとりあえず作っておいた。


設定ファイルの作成。
ひな形はrpmで提供されているので、これを /etc/ 以下にコピーして、NDB Clusterに必要な設定を追加する。


ファイアーウォールの設定 受信を許可する「その他のポート」に「63132:tcp mysql:tcp」と書きます。


※以下はmysql が管理ノードにアクセスしに行くときに selinux に引っかかってエラーになった場合にbuchineko/shironeko に行う。
http://blogs.ricollab.jp/webtech/2008/07/mysql_ndb_cluster/
--------------------------------
また、これだけだと mysql が管理ノードにアクセスしに行くときに selinux に引っかかってエラーになるのですが、 そのエラーをわざと一度起こして許可ルールを作るためのログを吐かせます。 もし、/var/log/audit というディレクトリが存在しない場合、audit をインストールしておいてください。


これで、


というような行が見つかればOKです。(適当に改行してありますが、本当は一行です。)

mysql はこのまま起動に失敗してプロセスが残ったままになってしまうので、ちゃんとプロセスを kill しておいてください。

次にこのログから許可ルールを作成します。


すると mysqlcluster.pp というファイルが生成されるのでこれをselinuxに取り込ませます。


ただ、これだとmysqlがネットワークにアクセスするのを全て許可してしまうので、 宛先やポートを指定して許可したい場合には適切な te ファイルを作成して設定してください。 ちなみに、srv2 でこの pp ファイルを作れば、srv3 ではログを吐かせるあたりは省略して pp ファイルをコピーして読みこませるだけでOKです。
--------------------------------

各ノード起動

管理ノードの起動

mikenekoで行う。

 

マネジメントクライアントの起動

 

データノードの「半」起動

buchineko/shironekoで行う。

※mikeneko.waku2traffics.com で管理ノードが立ち上がっているのが前提
※データノードは起動時にほかのノードが起動していないとタイムアウトを起こしてしまう。 「--nostart」を指定しておくとデータノードは起動する直前で待機し、その後管理ノードから一斉に起動するという操作が可能になる。停止もできる。

・初回、または管理サーバー上でconfig.iniを修正した場合のみ「--initial」のオプションを使用


・次回以降

 

SQLノードの起動

buchineko/shironekoで行う。
念のため、MySQLに関するプロセスが起動していないか確認。 あったら停止しておく。


起動

 

データノードの「本」起動&マネジメントクライアントによる接続の確認

mikeneko.waku2traffics.comの管理ノードから起動&確認してみる。 コマンドの詳細は以下より
http://dev.mysql.com/doc/refman/5.1/ja/mysql-cluster-mgm-client-commands.html


マネジメントクライアントから抜ける。ただ抜けるだけで何も停止はしない。



次回は、データ同期の確認です。


いかがでしたでしょうか?
猫ITソリューションズは、飼い主の皆さんにITを活用しあらゆるシーンで的確なアドバイスをいたします。それではまたお会いしましょう。

MySQL Cluster(primary/primary)のインストールその2[データノード/SQLノードのインストール]

see you!

 



Blog Categories

Member Profile

広報:齊藤 メイ

埼玉在住の三毛猫です。趣味は日向ぼっこ、好きな猫缶はカツオ系です。仲良くしてくださいね!

Facebook
Twitter

代表:齊藤 智宏

埼玉在住のWebデベロッパーです。80's洋楽、映画、レトロゲームが大好きです。よろしく!

Facebook
Twitter