私はdebian8jessieの下でMariaDBGalera10.1を動作させようとしています。
必要なコンポーネントをすべてインストールして構成を行いましたが、機能しません。
ノードはVPSとして構築されます。
ノード1の構成:
[mysqld]
# Cluster node configurations
wsrep_cluster_address="gcomm://172.16.0.102,172.16.0.112"
wsrep_node_address="172.16.0.102"
wsrep_node_name='n1'
wsrep_cluster_name='cluster'
innodb_buffer_pool_size=400M
# Mandatory settings to enable Galera
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
bind-address=0.0.0.0
# Galera synchronisation configuration
wsrep_sst_method=rsync
ノード2の構成:
[mysqld]
# Cluster node configurations
wsrep_cluster_address="gcomm://172.16.0.102,172.16.0.112"
wsrep_node_address="172.16.0.112"
wsrep_node_name='n2'
wsrep_cluster_name='cluster'
innodb_buffer_pool_size=400M
# Mandatory settings to enable Galera
wsrep_provider=/usr/lib/galera/libgalera_smm.so
binlog_format=ROW
default-storage-engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
query_cache_size=0
bind-address=0.0.0.0
# Galera synchronisation configuration
wsrep_sst_method=rsync
ノード1で実行しようとしているときbootstrapコマンド
service mysql bootstrap
エラーで失敗します
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
May 13 15:59:28 test mysqld[2397]: at gcomm/src/pc.cpp:connect():162
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out)
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1379: Failed to open channel 'cluster' at 'gcomm://172.16.0.102,172.16.0.112': -110 (Connection timed out)
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: gcs connect failed: Connection timed out
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] WSREP: wsrep::connect(gcomm://172.16.0.102,172.16.0.112) failed: 7
May 13 15:59:28 test mysqld[2397]: 2016-05-13 15:59:28 139843152635840 [ERROR] Aborting
ネットワーク構成は私が使用しているプライベートです:
ProxmoxVE4.0とともにインストールされた2xDEDICATEDサーバーは、サーバーがvRackネットワークにあり、VPSで次のように構成されています。
node1:172.16.0.102//ノード1はサーバー1上にあります
node2:172.16.0.112//ノード2はサーバー2上にあります
彼らはプライベートネットワーク上でお互いにpingすることができます。
私は解決策と正確な問題を見つけました。
問題は、クラスターノードの起動方法にありました。 MariaDBを使用したインストールに含まれているスクリプトから開始する必要がありますgalera_new_cluster
何がbootstrap新しいクラスターになり、その後はすべて正常に動作します。
これが他の人がdebianで設定を渡すのに役立つことを願っています。
MariaDB 10.1.8以降、systemdは新しいinitであり、RPMおよびDebianベースのLinuxディストリビューション(私の場合はUbuntu 16.04)でGaleraがブートストラップされる方法に影響します。以前のバージョンでは、service mysql start --wsrep-new-cluster
またはservice mysqld bootstrap
のようなものを使用していましたが、次の場合に失敗するため、これ以上機能しません。
[ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -110 (Connection timed out)
この問題を修正するには、次のコマンドを実行します。
galera_new_cluster
このスクリプトは「最初の」サーバーでのみ実行する必要があることに注意してください。
実行されているかどうかをテストするには、mysql -u [your mysql user] -p
を指定してmysqlと入力し、実行します。
SHOW GLOBAL STATUS LIKE 'wsrep_cluster_size';
次のようなものが表示されます。
+--------------+
| cluster size |
+--------------+
| 1 |
+--------------+
誰かに役立つ場合に備えて、これはmy.conf(MariaDB 10.1.16)です。
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://[first ip],[second ip]"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
詳細はこちら:
このエラーが発生しましたが、私の場合はgalera_new_cluster
が機能しません。
/var/lib/m.ysql/grastate.dat
ファイルを編集し、safe_to_bootstrap
を1に変更することで問題が解決しました。