MySQLクラスターを研究しています。そのために、4つの仮想マシンを使用してデモを行います。実際にいくつか問題があります。
トポロジ
トポロジに4つのノードが含まれているNode 1:管理ノード、IPアドレス192.168.56.205 Node 2:SQLノード、IPアドレス192.168.56.206 Node 3:データノード1、IPアドレス192.168.56.207 Node 4:データノード2、IPアドレス192.168.56.208
その他の情報
インストール
構成
On node 1-management node
/var/lib/mysql-cluster/config.iniを作成します。
[ndbdデフォルト]
NoOfReplicas = 2
DataMemory = 80M
IndexMemory = 18M
[tcpデフォルト]
ポート番号= 2202
[ndb_mgmd]
ホスト名= 192.168.56.205
datadir =/var/lib/mysql-cluster
[ndbd]
ホスト名= 192.168.56.207
datadir =/usr/local/mysql/data
[ndbd]
ホスト名= 192.168.56.208
datadir =/usr/local/mysql/data
[mysqld]
ホスト名= 192.168.56.206
ノード2-SQLノード
[mysqld]
datadir = /var/lib/mysql
port = 3306
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.56.205
ノード3とノード4-データノード
/etc/my.cnfを構成します。
[mysqld] ndbcluster
[mysql_cluster] ndb-connectstring = 192.168.56.205
起動
管理ノードで、次のコマンドを実行します。ndb_mgmd-f /var/lib/mysql-cluster/config.iniデータノード1 v 2、2で実行します。ndbd最後に、SQLノードで、mysqld_safe&
結果
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.56.207)
id=3 @192.168.56.208 (mysql-5.6.19 ndb-7.3.6, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.56.205 (mysql-5.6.19 ndb-7.3.6)
[mysqld(API)] 1 node(s)
id=4 (not connected, accepting connect from any Host)
エラー:
ノード2:強制的なノードのシャットダウンが完了しました。開始フェーズ0中に発生します。シグナル11によって開始されます
ノード2の/ usr/local/mysql/dataにndb_2_error.logがあります
Ndb_2_error.logの内容:
Time: Monday 28 July 2014 - 09:45:01
Status: Temporary error, restart node
Message: WatchDog terminate, internal error or massive overload on the machine running this node (Internal error, programming error or missing error message, please report a bug)
Error: 6050
Error data: Job Handling
Error object: /export/home/pb2/build/sb_0-12598553-1404293345.9/rpm/BUILD/mysql-cluster-gpl-7.3.6/mysql-cluster-gpl-7.3.6/storage/ndb/src/kernel/vm/WatchDog.cpp
Program: ndbd
Pid: 1709
Version: mysql-5.6.19
3つのノードの警告:ノード2、ノード3、ノード4
2014-07-28 09:47:23 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.56.208. Returned error: 'No free node id found for mysqld(API).'
2014-07-28 09:47:23 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.56.207. Returned error: 'No free node id found for mysqld(API).'
2014-07-28 09:47:23 [MgmtSrvr] WARNING -- Failed to allocate nodeid for API at 192.168.56.206. Returned error: 'No free node id found for mysqld(API).'
御時間ありがとうございます。
あなたの設定を詳細に見ることなく、あなたの問題はカーネルがOut of memory(OOM)kill:ndbdなどのプロセスをkillしていることにあると思います。これらは通常/var/log/messages
に記録されるため、簡単に確認できます。
128MBのRAM、32ビット
これらの側面でNDBクラスターを実行できるかどうかは100%わかりませんが、実際には望まないと言えます。これが 多かれ少なかれNDBから期待できるメモリ消費量のガイド です。 NDBは最初の実行時にほとんどのメモリを事前に割り当てます。これはmemory-focusedトランザクションエンジンであることを忘れないでください。使用可能なRAMを増やすか、構成パラメーターの一部を減らします。