0

4 つのデータ ノードと、それぞれにアクセス (API) ノードと管理ノードを備えた 2 つのサーバーを備えた mysql クラスターを実行しています。

API ノード 1 を使用してテーブルを作成すると、API ノード 2 でアクセスしようとすると存在しないと表示されます。これがなぜなのか、またはそれを修正する方法を誰でも説明できますか。2 つの別々のサーバーで 2 つの API ノードを実行するポイントは、冗長性のためです。

以下の SHOW 構成を参照してください (ips を削除しました)。

Cluster Configuration
---------------------
[ndbd(NDB)]     4 node(s)
id=5    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0)
id=6    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6, Nodegroup: 0, *)
id=7    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6, Nodegroup: 1)
id=8    @*.*.*.* (mysql-5.6.19 ndb-7.3.6, Nodegroup: 1)

[ndb_mgmd(MGM)] 2 node(s)
id=1    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)
id=2    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)

[mysqld(API)]   2 node(s)
id=3    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)
id=4    @*.*.*.*  (mysql-5.6.19 ndb-7.3.6)

回答するためにさらに情報が必要な場合は、お問い合わせください。質問を更新します。

4

1 に答える 1

1

正しいストレージ エンジンを使用していますか? テーブルを「クラスター化」する (クラスター データノードに格納する) 場合は、engine=ndbcluster を使用する必要があります。

innodb または myisam として作成されたテーブルは、それが作成されたノードにローカルに保存され、他の mysql API ノードからはアクセスできません。

ストレージ ノードを ndb エンジンに変換するには、alter テーブルを介して実行できます。

テーブルエンジンを変更=ndbcluster;

于 2014-12-16T10:21:14.550 に答える