MySQLクラスターには3つのホストがあり、1つはマネージャーノードを持ち、他の2つはそれぞれデータノードとSQLノードの両方です。マネージャーへの接続は可能ですが、[mysqld]ではなく[ndbd]としてのみ... SQLノードとしてではなく、データノードとしてマネージャーに接続することを意味します。 「接続されていない」部分以外はすべて問題なく表示され、エラーメッセージも表示されません。だから私の質問は、なぜマネージャーノードが各マシンをデータノードとしてのみ認識し、mysqlノードとしても認識しないのですか?
以下に、ndb_mgmクラスター構成と、それに続くconfig.iniの内容を示します。
クラスタ構成 --------------------- [ndbd(NDB)] 2ノード(s) id = 2 @ 10.0.40.105(mysql-5.5.25 ndb-7.2.7、Nodegroup:0、Master) id = 3 @ 10.0.40.100(mysql-5.5.25 ndb-7.2 .7、ノードグループ:0) [ndb_mgmd(MGM)] 1ノード id = 1 @ 10.0.40.119(mysql-5.5.25 ndb-7.2。 7) [mysqld(API)] 2ノード id = 4(接続されていない、任意のホストからの接続を受け入れている) id = 5(接続されていない、任意のホストからの接続を受け入れる)
config.ini:
[ndbd default] #すべてのデータノードのndbdプロセスに影響するオプション: NoOfReplicas = 2#レプリカの数 [tcp default] #TCP/IPオプション: [ndb_mgmd] #管理プロセスオプション: hostname = 10.0.40.119#ホスト名またはIPアドレスMGMノード datadir =/var/lib/mysql-cluster#MGMノードログファイルのディレクトリ NodeId = 1 [ndbd] #データノード1のオプション: #(データノードごとに1つの[ndbd]セクション) hostname = 10.0.40.105#ホスト名またはIPアドレス datadir =/usr/local/mysql/data#このデータノードのデータファイルのディレクトリ NodeId = 2 [ndbd] #データノード2のオプション: hostname = 10.0.40.100#ホスト名またはIPアドレス datadir =/usr/local/mysql/data#このデータノードのデータファイルのディレクトリ N odeId = 3 #ストレージノードあたり[mysqld] [mysqld] [mysqld]
/etc/my.cnf:
[mysqld] ndbcluster ndb-connectstring = 10.0.40.119 [mysql_cluster] ndb-connectstring = 10.0。 40.119
ps -ef | grep mysqld | grep -v grep
したがって、解決策は競合するmyslqdでした。どうやらmysqlにはmysqldがあり、mysqlクラスターにはmysqldがあり、それらが競合しているか、間違ったものを実行していた。最後に、mysqlをアンインストールしてmysqlクラスターを再インストールしましたが、完全に機能しました。この問題のトラブルシューティングを支援してくれたRolandoMySQLDBAに感謝します。
/ *このクエリは、実行されていないノードの数を返し、すべてのノードが実行されている場合は0を返します* /
SELECT
@total :=
(SELECT
VARIABLE_VALUE
FROM
information_schema.`GLOBAL_STATUS`
WHERE VARIABLE_NAME = 'NDB_NUMBER_OF_DATA_NODES') AS `Total`,
@running :=
(SELECT
VARIABLE_VALUE
FROM
information_schema.`GLOBAL_STATUS`
WHERE VARIABLE_NAME = 'NDB_NUMBER_OF_READY_DATA_NODES') AS `Running`,
@total - @running AS `Nodes_Not_Running` ;
このクエリは何を返しますか?
%Ndb_number_of_ready_data_nodes%
データノードのうち%Ndb_number_of_data_nodes%
のみが実行されています。 ndb_mgm -e showを実行して、使用できないデータノードを表示します。