Original post: http://anothermysqldba.blogspot.com/2014/06/installing-percona-xtradb-cluster.html
だからもちろんPerconaは、プロセスを説明する資料を持っています。 このブログの目的は、誰かを助けることができる期待して、もう少し詳しく説明しに行くことです。
レビューのためのハイパーリンク:
だから私は、基本的なサーバのCentOS 6.5のインストールを始めています。
私は、MySQL-LIBSおよび関連の依存関係を削除、衝突を避けるために
それから私は、Percona Clusterパッケージをインストールしました。
だから我々は、我々は、ノードごとに削除された項目を置き換えることができます..
我々は次のクラスタを設定できるようにので、上記の手順を繰り返してパッケージをインストールします。
私たちが実行してMySQLのの3つのインスタンスがありますが、それはまだ、クラスタではありません。
ノードの構成
ノード1の/ etc / my.cnfに
第一クラスタノードを起動する
クラスタは、現時点で唯一のノードです。
[OK]を今すぐ1が起動し、動作している我々は、ノード2を起動することができます
ノード2の/ etc / my.cnfに
今、各ノード上で私たちの値を比較します。
今、私たちは、ミックスにノード3を追加。
ノード3は、/ etc / my.cnfに
それでは、どのよう私たちのすべてのノードは、次のようになります。
ノードをテスト
だから今我々はいくつかのデータをロードし、それをテストすることができます..
だから今すべてがロードされていること...それは、クラスタ全体のすべてのですか?
だからもちろんPerconaは、プロセスを説明する資料を持っています。 このブログの目的は、誰かを助けることができる期待して、もう少し詳しく説明しに行くことです。
レビューのためのハイパーリンク:
- CentOSの- http://www.percona.com/doc/percona-xtradb-cluster/5.5/howtos/cenots_howto.html
- Ubuntuの- http://www.percona.com/doc/percona-xtradb-cluster/5.5/howtos/ubuntu_howto.html
- バイナリからPercona XtraDBクラスタのインストール -
- ファイアウォールは、ポート3306、4444、4567および4568に接続できるようにセットアップされている
- 内部ローカルネットワーク用のiptablesを停止するか、iptableのルールを調整します。
/etc/init.d/iptables stop
- SELinuxは無効になっています
echo 0 >/selinux/enforce
vi /etc/selinux/config
- 最大のSSHキーを設定し、すべてのid_rsa.pubファイルの値はすべてのサーバのauthorized_keysにあるようにauthorized_keysにに入れる。
# ssh-keygen -t rsa
# cd /root/.ssh/
# cp id_rsa.pub authorized_keys
# chmod 600 /root/.ssh/authorized_keys
# chmod 700 /root/.ssh/
だから私は、基本的なサーバのCentOS 6.5のインストールを始めています。
# yum -y install http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
# yum -y install http://mirror.pnl.gov/epel/6/x86_64/epel-release-6-8.noarch.rpm
# wget http://www.percona.com/downloads/RPM-GPG-KEY-percona /etc/pki/rpm-gpg/RPM-GPG-KEY-percona
# wget http://www.percona.com/downloads/RPM-GPG-KEY-percona /etc/pki/rpm-gpg/RPM-GPG-KEY-percona
# yum -y install socat
私は、MySQL-LIBSおよび関連の依存関係を削除、衝突を避けるために
# rpm -e mysql-libs postfix cronie redhat-lsb-core redhat-lsb-printing redhat-lsb-graphics libcgroup numad redhat-lsb sysstat crontabs cronie-anacron redhat-lsb-compat
それから私は、Percona Clusterパッケージをインストールしました。
# yum -y install Percona-XtraDB-Cluster-full-56
[root@node1 ~]# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)......... SUCCESS!
mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"
だから我々は、我々は、ノードごとに削除された項目を置き換えることができます..
yum -y install postfix cronie redhat-lsb-core redhat-lsb-printing redhat-lsb-graphics libcgroup numad redhat-lsb sysstat crontabs cronie-anacron redhat-lsb-compat
我々は次のクラスタを設定できるようにので、上記の手順を繰り返してパッケージをインストールします。
[root@node2 ~]# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)......... SUCCESS!
[root@node3 ~]# /etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)........ SUCCESS!
私たちが実行してMySQLのの3つのインスタンスがありますが、それはまだ、クラスタではありません。
ノードの構成
- http://www.percona.com/doc/percona-xtradb-cluster/5.5/howtos/cenots_howto.html
- http://galeracluster.com/documentation-webpages/configuration.html
- http://galeracluster.com/documentation-webpages/search.html
- http://www.magicposition.com/2012/01/16/installing-galera-mysql-clustering-on-ubuntu-10/
ノード1の/ etc / my.cnfに
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so
# Cluster connection URL contains the IPs of node#1, node#2 and node#3
# node 1 192.168.0.33
# nod3 2 192.168.0.34
# nod3 3 192.168.0.35
wsrep_cluster_address=gcomm://192.168.0.33,192.168.0.34,192.168.0.35
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This changes how InnoDB auto increment locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #1 address
wsrep_node_address=192.168.0.33
# SST method
#wsrep_sst_method=xtrabackup
wsrep_sst_method=rsync #
# wsrep_sst_method=rsync_wan #
# wsrep_sst_method=mysqldump # SLOW
# Cluster name
wsrep_cluster_name=percona_cluster
# Authentication for SST method
wsrep_sst_auth="root:<password_here>"
# server_id
server_id=3232235553 #SELECT INET_ATON('192.168.0.33')
#[client]
socket=/var/lib/mysql/mysql.sock
第一クラスタノードを起動する
/etc/init.d/mysql start --wsrep-cluster-address="gcomm://"
Starting MySQL (Percona XtraDB Cluster)...................................... SUCCESS!
[root@node1 mysql]# cat grastate.dat
# GALERA saved state
version: 2.1
uuid: 97c457f8-f3d2-11e3-9b4e-374ebb7427e6
seqno: -1
cert_index:
クラスタは、現時点で唯一のノードです。
mysql> select @@hostname\G show global status like 'wsrep_cluster_size' \G
*************************** 1. row ***************************
@@hostname: node1.localdomain
1 row in set (0.01 sec)
*************************** 1. row ***************************
Variable_name: wsrep_cluster_size
Value: 1
[OK]を今すぐ1が起動し、動作している我々は、ノード2を起動することができます
ノード2の/ etc / my.cnfに
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so
# Cluster connection URL contains the IPs of node#1, node#2 and node#3
# node 1 192.168.0.33
# nod3 2 192.168.0.34
# nod3 3 192.168.0.35
wsrep_cluster_address=gcomm://192.168.0.33,192.168.0.34,192.168.0.35
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This changes how InnoDB auto increment locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #1 address
wsrep_node_address=192.168.0.34
# SST method
#wsrep_sst_method=xtrabackup
wsrep_sst_method=rsync #
# wsrep_sst_method=rsync_wan #
# wsrep_sst_method=mysqldump # SLOW
# Cluster name
wsrep_cluster_name=percona_cluster
# Authentication for SST method
wsrep_sst_auth="root:"
# to enable debug level logging, set this to 1
wsrep_debug=1
# server_id
server_id=3232235554 # SELECT INET_ATON('192.168.0.34')
#[client]
socket=/var/lib/mysql/mysql.sock
[root@node2 mysql]#/etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)........................... SUCCESS!
今、各ノード上で私たちの値を比較します。
mysql> select @@hostname\G show global status like 'wsrep_cluster_size' \G
*************************** 1. row ***************************
@@hostname: node1.localdomain
1 row in set (0.01 sec)
*************************** 1. row ***************************
Variable_name: wsrep_cluster_size
Value: 2
mysql> select @@hostname\G show global status like 'wsrep_cluster_size' \G
*************************** 1. row ***************************
@@hostname: node2.localdomain
1 row in set (0.00 sec)
*************************** 1. row ***************************
Variable_name: wsrep_cluster_size
Value: 2
1 row in set (0.18 sec)
今、私たちは、ミックスにノード3を追加。
ノード3は、/ etc / my.cnfに
[mysqld]
datadir=/var/lib/mysql
user=mysql
# Path to Galera library
wsrep_provider=/usr/lib64/libgalera_smm.so
# Cluster connection URL contains the IPs of node#1, node#2 and node#3
# node 1 192.168.0.33
# nod3 2 192.168.0.34
# nod3 3 192.168.0.35
wsrep_cluster_address=gcomm://192.168.0.33,192.168.0.34,192.168.0.35
# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW
# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB
# This changes how InnoDB auto increment locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node #1 address
wsrep_node_address=192.168.0.35
# SST method
# wsrep_sst_method=xtrabackup
wsrep_sst_method=rsync #
# wsrep_sst_method=rsync_wan #
# wsrep_sst_method=mysqldump # SLOW
# Cluster name
wsrep_cluster_name=percona_cluster
# Authentication for SST method
wsrep_sst_auth="root:"
# to enable debug level logging, set this to 1
wsrep_debug=1
# server_id
server_id=3232235555 # SELECT INET_ATON('192.168.0.35')
#[client]
socket=/var/lib/mysql/mysql.sock
[root@node3 mysql]#/etc/init.d/mysql start
Starting MySQL (Percona XtraDB Cluster)........................... SUCCESS!
[root@node3 mysql]# cat grastate.dat
# GALERA saved state
version: 2.1
uuid: 97c457f8-f3d2-11e3-9b4e-374ebb7427e6
seqno: -1
cert_index:
それでは、どのよう私たちのすべてのノードは、次のようになります。
mysql> select @@hostname\G show global status like 'wsrep_cluster_size' \G
*************************** 1. row ***************************
@@hostname: node1.localdomain
1 row in set (0.01 sec)
*************************** 1. row ***************************
Variable_name: wsrep_cluster_size
Value: 3
mysql> select @@hostname\G show global status like 'wsrep_cluster_size' \G
*************************** 1. row ***************************
@@hostname: node2.localdomain
1 row in set (0.00 sec)
*************************** 1. row ***************************
Variable_name: wsrep_cluster_size
Value: 3
mysql> select @@hostname\G show global status like 'wsrep_cluster_size' \G
*************************** 1. row ***************************
@@hostname: node3.localdomain
1 row in set (0.00 sec)
*************************** 1. row ***************************
Variable_name: wsrep_cluster_size
Value: 3
ノードをテスト
だから今我々はいくつかのデータをロードし、それをテストすることができます..
[root@node2 ~]# wget http://downloads.mysql.com/docs/world_innodb.sql.gz
[root@node2 ~]# gzip -d world_innodb.sql.gz
[root@node2 ~]# mysql -e "create database world"
[root@node2 ~]# mysql world < world_innodb.sql
だから今すべてがロードされていること...それは、クラスタ全体のすべてのですか?
@@hostname: node1.localdomain
DATABASE_SCHEMA: world
ENGINE: InnoDB
count_tables: 3
TOTAL_DB_GB: 0.001
@@hostname: node2.localdomain
DATABASE_SCHEMA: world
ENGINE: InnoDB
count_tables: 3
TOTAL_DB_GB: 0.001
@@hostname: node3.localdomain
DATABASE_SCHEMA: world
ENGINE: InnoDB
count_tables: 3
TOTAL_DB_GB: 0.001
それが機能しているように見えます。