MySQL クラスターには 3 つのホストがあり、1 つはマネージャー ノードを持ち、残りの 2 つはそれぞれデータ ノードと SQL ノードの両方です。マネージャーへの接続は可能ですが、[mysqld] ではなく [ndbd] としてのみ... つまり、マネージャーはそれらをデータ ノードとして認識しますが、SQL ノードとして認識しません。「接続されていない」部分以外はすべて正常に表示され、エラー メッセージは表示されません。私の質問は、マネージャー ノードが各マシンをデータ ノードとしてのみ認識し、mysql ノードとして認識しないのはなぜですか?
以下に、ndb_mgm クラスタ構成とそれに続く config.ini の内容を示します。
クラスタ構成 ---------------------- [ndbd(NDB)] 2 ノード id=2 @10.0.40.105 (mysql-5.5.25 ndb-7.2.7、ノードグループ: 0、マスター) 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 デフォルト] # すべてのデータ ノードの ndbd プロセスに影響するオプション: NoOfReplicas=2 # レプリカの数 [TCP デフォルト] # TCP/IP オプション: [ndb_mgmd] # 管理プロセスのオプション: hostname=10.0.40.119 # MGM ノードのホスト名または IP アドレス datadir=/var/lib/mysql-cluster # MGM ノード ログ ファイルのディレクトリ ノード ID=1 [ndbd] # データ ノード 1 のオプション: # (データ ノードごとに 1 つの [ndbd] セクション) hostname=10.0.40.105 # ホスト名または IP アドレス datadir=/usr/local/mysql/data # このデータ ノードのデータ ファイルのディレクトリ ノード ID=2 [ndbd] # データ ノード 2 のオプション: hostname=10.0.40.100 # ホスト名または IP アドレス datadir=/usr/local/mysql/data # このデータ ノードのデータ ファイルのディレクトリ ノード ID=3 # ストレージ ノードごとに 1 つの [mysqld] [mysqld] [mysqld]
/etc/my.cnf:
[mysqld] ndbcluster ndb-connectstring=10.0.40.119 [mysql_cluster] ndb-connectstring=10.0.40.119
mysqld の起動について混乱しています。各ノードを起動するプロセスは次のとおりです。
ndb_mgmd:
ndb_mgmd --initial --skip-config-cache -f /var/lib/mysql-cluster/config.ini ndb_mgm
ndbd/mysqld:
ndbd --initial /etc/init.d/mysql.server 開始