ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

MySQL Cluster インストール

      2017/01/04 この記事は約5分で読むことができます。

概要

仕事の関係で、MySQLをさわる機会があったので、インストール時のメモ
MySQLでクラスタを構成するためには、マネジメントノード 、データノード、SQLノード3種類が必要との事です。

  • マネジメントノード ・・・ クラスタを管理するためのノード
  • データノード ・・・ データを管理するマシン
  • SQLノード ・・・ SQLを処理するノード

構成は以下となります。
構築作業は、KVM等の仮想環境で構築します。まずは一台をベースサーバとし、その内容を下記の3台にコピーします

mysqlのインストール (マネジメントノード,SQLノード,データノード共通)

マネジメントノード,SQLノード,データノード共通で設定します。

MySQL インストール作業

(1)インストールに必要な関連パッケージのインストール

※上記をインストールしないと、configure 時に下記のエラーが表示されます
checking for termcap functions library... configure: error: No curses/termcap library found

(2)作業用ディレクトリに移動

(3)mysqlユーザーの追加

(4)mysql ダウンロード

※ configureオプション

    • prefix=/usr/local/mysql
      インストール場所に/usr/local/mysqlを指定
    • with-ndbcluster
      MySQL Clusterを有効
    • with-partition
      パーティショニングを有効

MySQL 設定

(1)設定ファイルをコピー

(2)DBを初期化

(3)ユーザー権限を変更

(4)SQLノードの起動(mysql)スクリプトを設定

(5)rootユーザーのパスワード設定

/etc/my.cnfの設定 (マネジメントノード,SQLノード,データノード共通)

マネジメントノード,SQLノード,データノード共通で設定します。

/etc/my.cnfの設定

  • [mysqld]のndb-connectstringにマネジメントノードのIPアドレス指定する
  • [mysql_cluster]のndb-connectstringにマネジメントノードのIPアドレス指定する
  • [ndb_mgmd]のconfig-fileにマネジメントノードの設定ファイルを指定する

下記の設定ファイルは変更箇所のみ抜粋

管理ノード設定 (マネジメントノード)

この設定は、管理ノードのみ設定

(1)config.ini保存ディレクトリ作成

(2)ndbのpid,ログファイルの保存ディレクトリ作成

(3)サンプルの設定ファイルをコピー

(4)config.iniを編集

※ 設定ファイルをそのまま出力しています

管理コンソールの起動 (マネジメントノード)

この設定は、管理ノードのみ設定

(1)管理コンソール(ndb_mgmd)を起動

※ -f で設定ファイルを指定

(2)起動しているかプロセス及びログで確認

(3)管理コンソールにログイン

今は、SQLノード、データノードを起動していないので「not connected」となる

データノードの起動 (データノード)

(1)データノードの起動

※ 最初からはじめる場合か、管理サーバー上でconfig.iniを修正した場合のみ「--initial」のオプションを使用

(2)起動しているかプロセス及びログで確認

(3)管理コンソール側でデータノードの状態を確認

[ndbd(NDB)] が接続されていることを確認、192.168.24.151がMaster側となっている

SQLノードの起動 (SQLノード)

(1)データノードの起動

(2)起動しているかプロセス及びログで確認

(3)管理コンソール側でデータノードの状態を確認

[mysqld(API)] が接続されていることを確認

MySQL Cluster のコマンド

マネジメントノード

管理コンソールを起動

コンソールにログイン

コンソールでの操作

データノードの起動 (データノード)

データノードの起動

SQLノード

データノードの起動



 - Linux , ,