GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にPerconaXtraDBクラスターをインストールする方法

このチュートリアルでは、CentOS7サーバーにPerconaXtraDBクラスターをインストールして構成する方法を説明します。 MySQLおよびPerconaサーバーと完全に互換性のあるPerconaXtraDBCluster5.6を使用します。

Perconaは、2006年に設立されたMySQLおよびMongoDBデータベースの専門家の会社です。Perconaは、MySQLおよびMongoDBのオープンソースソフトウェアを構築および保守しています。クラスタ)、MongoDB用のPercona Server、およびPerconaツールキット、Percona監視ツール、PerconaXtraBackupなどのデータベースを管理するための他のツール。

前提条件

  • 3つのCentOS7サーバーノード。
  • root権限。
  • CentOS7の基本的な知識。

ステップ1-ホストファイルをセットアップします

最初に行うことは、すべてのサーバーのホスト名を構成することです。以下に示すように、CentOS7を搭載したサーバーが3台あります。

ノードサーバーIPホスト名

Node1-192.168.43.36 percona1
Node2-192.168.43.166 percona2
Node3- 端末を使用してすべてのサーバーに接続します:

ssh[メール保護]

すべてのサーバーにログインしている場合は、vimを使用して各サーバーの「/ etc/hosts」ファイルを編集します。

 vim / etc / hosts 

以下にホスト構成を貼り付けます:

 192.168.43.36 percona1 
192.168.43.166 percona2
192.168.43.148 percona3

IPアドレスをローカルネットワーク構成に一致するものに置き換えます。保存して終了します。

ステップ2-Firewalldを設定する

Firewalldは、CentOS 7の新しいデフォルトのファイアウォールインターフェースです。firewall-cmdコマンドは、ファイアウォールを構成するために使用されます。特定のグループまたはゾーンを定義して構成することも、ssh、MySQLデータベース、nginx /ApacheWebサーバーなどのサービス用にファイアウォールを構成することもできます。

このステップでは、ファイアウォール構成にfirewalldを使用します。 'firewall-cmd'コマンドを使用して、perconaサーバーポートとクラスターに必要なその他のポートを開きます。

次のsystemctlコマンドでfirewalldを起動します:

 systemctl start Firewalld 

次に、以下のコマンドを実行して、MySQL/perconaサーバーが使用するポートを開きます。

 Firewall-cmd --zone =public --add-service =mysql --permanent 

次に、以下のコマンドを使用して、クラスターの他のポートを追加します。

 Firewall-cmd --zone =public --add-port =3306 / tcp --permanent 
Firewall-cmd --zone =public --add-port =4567 / tcp --permanent
Firewall-cmd --zone =public --add-port =4568 / tcp --permanent
Firewall-cmd --zone =public --add-port =4444 / tcp --permanent
Firewall -cmd --zone =public --add-port =4567 / udp --permanent

ファイアウォールルールを再読み込みします:

 Firewall-cmd --reload 

すべてのファイアウォールルールのリストを表示するには、オプション'--list-all'を使用します:

ファイアウォール-cm--list-all

ステップ3-EpelリポジトリとSocatをインストールする

サーバー上でPerconaXtraDBクラスターを実行するには、socatをインストールする必要があります。これは、epelリポジトリで利用できます。したがって、最初にEpelリポジトリをインストールしてから、socatをインストールする必要があります。さらに、Mariadb-libsはPercona XtraDBクラスターと競合するため、サーバーから削除する必要があります。

epel-repositoryとsocatをインストールします:

 yum -y install epel-release 
yum -y install socat

mariadb-libsを削除して、mariadb-libsとPerconaXtraDBクラスター間のパッケージの競合を回避します。

 yum -y remove mariadb-libs 

Epelリポジトリとsocatがインストールされています。

ステップ4-PerconaXtraDBクラスターをインストールします

このステップでは、すべてのパッケージ依存関係を使用してPerconaxtradbクラスターをインストールします。インストール用にPerconaリポジトリを追加する必要があります。次に、Perconaサーバーを起動し、データベースサーバーのrootユーザーとパスワードを構成します。

yumを使用してPerconaリポジトリをインストールします:

 yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm 

次に、PerconaXtraDBクラスターとこのチュートリアルに必要なその他のパッケージをインストールします。

 yum install Percona-XtraDB-Cluster-server-56 Percona-XtraDB-Cluster-client-56 Percona-XtraDB-Cluster-shared-56 percona-toolkit percona-xtrabackup Percona-XtraDB-Cluster-galera-3 rsync nc 

Percona XtraDBクラスターがインストールされている場合は、zhissystemctlコマンドを使用してPerconaサーバーを起動します。

 systemctl start mysql 

次に、すべてのpercona/mysqlサーバーのルートパスワードを構成します。

 mysql_secure_installation 

percona / mysqlパスワードを設定します:

 rootの現在のパスワードを入力します(noneの場合は入力します):Enterキーを押します
rootパスワードを設定しますか? [Y / n] Y
新しいパスワード:パスワードを入力してください
新しいパスワードを再入力してください:パスワードを繰り返してください
匿名ユーザーを削除しますか? [Y / n] Y
rootログインをリモートで禁止しますか? [Y / n] Y
特権テーブルを今すぐリロードしますか? [Y / n] Y

注:

3つのCentOSサーバーすべてで手順1〜4を実行します。

ステップ5-PerconaXtraDBクラスターを構成する

ステップ4では、すでにPercona XtraDBクラスターをインストールし、すべてのPercona/Mysqlサーバーノードのルートパスワードを構成しました。このステップでは、SST認証用の新しいユーザーを作成し、各サーバーでMySQL構成my.cnfを編集します。

SST(状態スナップショット転送)は、ドナーとしての1つのサーバーから、ジョイナーとしての別のサーバーへの完全なデータコピーです。 SST認証では、パスワード「[メール保護]」を使用して「sstuser」という新しいユーザーを作成する必要があります。また、SSTメソッドでは、rsyncの代わりにxtrabackup-v2を使用します。クラスタには別の安全なパスワードを使用してください!

各サーバーのpercona/mysqlシェルにログインします:

 mysql -u root-p
パスワードを入力してください

そして、パスワード「[メール保護]」を使用して新しい「sstuser」を作成します:

ユーザー[emailprotected]'%'を'[email protected]'で識別します;
すべての*。*を[emailprotected]'%';
フラッシュ権限に付与します;
>

次に、構成ファイルを編集する前に、各サーバーでMySQLサービスを停止します。

 systemctl stop mysql 

次に、vimエディターを使用して各サーバーのmysql構成ファイルmy.cnfを編集します。

Percona1 サーバー:

 vim /etc/my.cnf 

以下の構成ですべての「wsrep」行を変更します:

 wsrep_cluster_address =gcomm:// 
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so

wsrep_slave_threads _ con =percona1

wsrep_node_address =percona1
wsrep_sst_method =xtrabackup-v2
wsrep_sst_auth user [e] =

保存して終了します。

Percona2 サーバー:

 vim /etc/my.cnf 

以下の構成ですべての「wsrep」行を変更します:

 wsrep_cluster_address =gcomm:// percona1、percona3 
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so

wsrep_slave_threads

wsrep_slave_threads
wsrep_slave_threads
_ /> wsrep_node_name =percona2

wsrep_node_address =percona2
wsrep_sst_method s st

保存して終了します。

Percona3 サーバー:

 vim /etc/my.cnf 

以下の構成ですべての「wsrep」行を変更します:

 wsrep_cluster_address =gcomm:// percona1、percona2 
wsrep_provider =/usr/lib64/galera3/libgalera_smm.so

wsrep_slave_threads

wsrep_slave_threads
wsrep_slave_threads
_ /> wsrep_node_name =percona3

wsrep_node_address =percona3
wsrep_sst_method s] e

保存して終了します。

percona2のスクリーンショット サーバー。

ステップ6-PerconaXtraDBクラスターサーバーを起動します

すべてのサーバーでPerconaXtraDBクラスターを構成しました。これで、サーバーを起動できます。

Percona1サーバーで、クラスターをブートストラップまたは起動して実行します。

 systemctlstart[メール保護]

次に、以下のコマンドを使用して、percona2およびpercona3サーバーでPercona/MySQLサーバーを起動します。

 systemctl start mysql 

エラーメッセージがないことを確認してください。 MySQLを起動するために入力した後にエラーが発生した場合は、ログファイル「/ var / log/messages」を確認してください。

ステップ7-テスト

Percona XtraDBクラスターをテストするには、各サーバーのpercona/mysqlシェルにログインする必要があります。

すべてのサーバー/ノードでPercona/MySQLシェルにログインします:

 mysql -u root-p
パスワードを入力してください

mysqlコマンドを使用した高可用性のテスト:

 SHOW STATUS LIKE'wsrep_local_state_comment'; 

「同期済み」が表示された場合は、すべてのノードでそのコマンドを試してください 結果として、そのノードはトラフィックを処理する準備ができています。

クラスターの使用可能なノードのテスト:

'wsrep_cluster_size'のようなグローバルステータスを表示します;

Perconaクラスター内の現在のノード数を取得します。

完全な結果を得るには、以下のコマンドを使用できます:

「wsrep%」のようなグローバルステータスを表示します; 


Cent OS
  1. CentOS8にTeamspeak3サーバーをインストールする方法

  2. CentOS7にPerconaサーバーをインストールする方法

  3. CentOS7にProFTPDをインストールする方法

  1. CentOS7にMinecraftサーバーをインストールする方法

  2. CentOS8にNginxをインストールする方法

  3. CentOS8にPostgreSQLをインストールする方法

  1. CentOS8にMariaDBをインストールする方法

  2. CentOS7にFreeIPAサーバーをインストールする方法

  3. CentOS8にSambaサーバーをインストールする方法