Galera---> PXC or MGC部署

Percona XtraDB Cluster5.7部署

環(huán)境信息

ip地址:

pxc01:10.105.2.21 pxc02:10.105.2.22 pxc03:10.105.2.23

拓?fù)鋱D:

image.png

下載:

登錄官方網(wǎng)站 :https://www.percona.com/

下載pxc 組件rpm包

注:也可以通過(guò)安裝YUM倉(cāng)庫(kù)進(jìn)行在線安裝

安裝YUM倉(cāng)庫(kù):

sudo yum install [https://repo.percona.com/yum/percona-release-latest.noarch.rpm](https://repo.percona.com/yum/percona-release-latest.noarch.rpm)

在線YUM安裝:

sudo yum install Percona-XtraDB-Cluster-57

配置:
創(chuàng)建(自定義)數(shù)據(jù) 日志 臨時(shí)文件夾

[root@pxc01 pxc]# mkdir /opt/mysql/{data,logs,tmp} -p
[root@pxc01 pxc]# chown -R mysql.mysql /opt/mysql/
[root@pxc01 pxc]# ll /opt/mysql/
total 0
drwxr-xr-x 2 mysql mysql 6 Nov 23 19:14 data
drwxr-xr-x 2 mysql mysql 6 Nov 23 19:14 logs
drwxr-xr-x 2 mysql mysql 6 Nov 23 19:14 tmp

配置文件修改

pxc01配置文件

pxc01配置文件
[root@pxc01 pxc]#  cp /etc/percona-xtradb-cluster.conf.d/wsrep.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
[root@pxc01 pxc]# grep -Ev "^$|^[#;]" /etc/my.cnf
[mysqld]
user=mysql
innodb_buffer_pool_size = 1024M
datadir = /opt/mysql/data
port = 3306
server_id = 105213306
socket = /opt/mysql/mysql.sock
pid-file = /opt/mysql/logs/mysql.pid
log-error = /opt/mysql/logs/error.log
log_warnings = 2
slow_query_log_file = /opt/mysql/logs/slow.log
long_query_time = 0.1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://10.105.2.21,10.105.2.22,10.105.2.23 //集群各節(jié)點(diǎn)的ip
binlog_format=ROW //必須是row
default_storage_engine=InnoDB
wsrep_slave_threads= 4 //最好是物理CPUX2
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=10.105.2.21 //本地ip
wsrep_cluster_name=pxc-cluster //自定義集群名字
wsrep_node_name=pxc01 //節(jié)點(diǎn)名稱
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:sstuser" //用于同步數(shù)據(jù)庫(kù)的用戶
pxc02配置文件
[root@pxc02 etc]# grep -Ev "^$|^[#]" my.cnf
[mysqld]
user=mysql
innodb_buffer_pool_size = 1024M
datadir = /opt/mysql/data
port = 3306
server_id = 105223306
socket = /opt/mysql/mysql.sock
pid-file = /opt/mysql/logs/mysql.pid
log-error = /opt/mysql/logs/error.log
log_warnings = 2
slow_query_log_file = /opt/mysql/logs/slow.log
long_query_time = 0.1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://10.105.2.21,10.105.2.22,10.105.2.23
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads= 4
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=10.105.2.22
wsrep_cluster_name=pxc-cluster
wsrep_node_name=pxc02
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:sstuser"
pxc03
[root@pxc03 etc]# grep -Ev "^$|^#" my.cnf
[mysqld]
user=mysql
innodb_buffer_pool_size = 1024M
datadir = /opt/mysql/data
port = 3306
server_id = 105233306
socket = /opt/mysql/mysql.sock
pid-file = /opt/mysql/logs/mysql.pid
log-error = /opt/mysql/logs/error.log
log_warnings = 2
slow_query_log_file = /opt/mysql/logs/slow.log
long_query_time = 0.1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
wsrep_cluster_address=gcomm://10.105.2.21,10.105.2.22,10.105.2.23
binlog_format=ROW
default_storage_engine=InnoDB
wsrep_slave_threads= 4
wsrep_log_conflicts
innodb_autoinc_lock_mode=2
wsrep_node_address=10.105.2.23
wsrep_cluster_name=pxc-cluster
wsrep_node_name=pxc03
pxc_strict_mode=ENFORCING
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth="sstuser:sstuser"

啟動(dòng):

systemctl start mysqld && systemctl  enable mysqld

查找默認(rèn)密碼并進(jìn)行登錄

sudo grep 'temporary password' /var/log/mysqld.log

添加同步用戶sstuser:sstuser

mysql> alter user 'root'@'localhost' identified by 'helloworld';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)
mysql> create user 'sstuser'@'localhost' identified by 'sstuser';
Query OK, 0 rows affected (0.02 sec)
mysql> grant reload,lock tables,replication client,process on *.* to 'sstuser'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

分別啟動(dòng)pxc02,pxc03

systemctl start mysqld && systemctl  enable mysqld

部署過(guò)程中遇到的問(wèn)題:

1.安裝時(shí)候遇到libev.so錯(cuò)誤;

解決方法:

yum -y install epel*

yum -y install libdev
[root@pxc03 etc]# /etc/init.d/mysql start

Initializing MySQL database: [ OK ]

Starting MySQL (Percona XtraDB Cluster).....................................The server quit without updating PID file (/opt/mysql/logs/mysql.pid). [FAILED]

MySQL (Percona XtraDB Cluster) server startup failed! [FAILED]

解決方法:檢查日志观话,一般是網(wǎng)絡(luò) 不通,地址寫(xiě)的不對(duì)形纺,初始化的時(shí)候datadir不是空的文件夾眶蕉,或者datadir 目錄不對(duì)坊萝;

pxc驗(yàn)證:

在pxc0創(chuàng)建庫(kù)并插入數(shù)據(jù)隶症,在pxc02 pxc03查看

mysql> create database pxc01;
Query OK, 1 row affected (0.01 sec)

mysql> use pxc01;
Database changed
mysql> create table t1(id int,name varchar(20),sex char(1));
Query OK, 0 rows affected (0.06 sec)

mysql> insert into t1 values(26,"world","M");
ERROR 1105 (HY000): Percona-XtraDB-Cluster prohibits use of DML command on a table (pxc01.t1) without an explicit primary key with pxc_strict_mode = ENFORCING or MASTER //驗(yàn)證了PXC的特性,每個(gè)表都要有主鍵
mysql> alter table t1 add primary key (id);
Query OK, 0 rows affected (0.07 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> insert into t1 values(26,"world","M");
Query OK, 1 row affected (0.03 sec)

在pxc02-03查看數(shù)據(jù)

image.png

然后分別去驗(yàn)證呐粘,如果都能寫(xiě)入满俗,在集群各節(jié)點(diǎn)都可以查看转捕,日志里沒(méi)有異常錯(cuò)誤,說(shuō)明PXC 搭建完成漫雷;

注:

percona xtradb cluster 初始化時(shí)需要將第一個(gè)集群節(jié)點(diǎn)信息置空,啟動(dòng)后方能啟動(dòng)其他節(jié)點(diǎn)鳍咱。

mariadb galera cluster 初始化則執(zhí)行g(shù)alera_new_cluster進(jìn)行初始化并啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)降盹。

集群最后一個(gè)停止服務(wù)節(jié)點(diǎn)為下次啟動(dòng)時(shí)初始化啟動(dòng)節(jié)點(diǎn)。

附:

mariadb galera cluster :

[galera]

# Mandatory settings
wsrep_on=ON
wsrep_provider=/lib64/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.10.1,192.168.10.2,192.168.10.3
wsrep_node_name=node1
wsrep_node_address=192.168.10.1
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
innodb_doublewrite=1
percona xtradb cluster:

[mysqld]
# Path to Galera library
wsrep_provider=/usr/lib64/galera3/libgalera_smm.so
# Cluster connection URL contains IPs of nodes
#If no IP is found, this implies that a new cluster needs to be created,
#in order to do that you need to bootstrap this node
wsrep_cluster_address=gcomm://192.168.10.12,192.168.10.13,192.168.10.14,192.168.10.15,192.168.10.16
#wsrep_cluster_address=gcomm://
# 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
# Slave thread to use
wsrep_slave_threads= 8
wsrep_log_conflicts
# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2
# Node IP address
wsrep_node_address=192.168.10.12
# Cluster name
wsrep_cluster_name=pxc-719
#If wsrep_node_name is not specified, then system hostname will be used
wsrep_node_name=pxc-cluster-node-1
#pxc_strict_mode allowed values: DISABLED,PERMISSIVE,ENFORCING,MASTER
pxc_strict_mode=ENFORCING
# SST method
wsrep_sst_method=xtrabackup-v2
#Authentication for SST method
#wsrep_sst_auth="sstuser:s3cretPass"
wsrep_sst_auth="root:cssl#123"

PXC常用管理 http://www.reibang.com/p/7ae73a6baf03

PXC原理與啟動(dòng)關(guān)閉及注意事項(xiàng) https://blog.csdn.net/zengxuewen2045/article/details/51834861

比較全的文章: https://blog.csdn.net/zisefeizhu/article/details/81873466

pxc學(xué)習(xí)時(shí)視頻 https://www.imooc.com/learn/993

mysql優(yōu)化:https://blog.csdn.net/qq_26941173/article/details/77823184

mysql的innodb_buffer_pool_size設(shè)置:https://www.cnblogs.com/wanbin/p/9530833.html

PXC要注意的問(wèn)題

1)腦裂:任何命令執(zhí)行出現(xiàn)unkown command 谤辜,表示出現(xiàn)腦裂蓄坏,集群兩節(jié)點(diǎn)間4567端口連不通,無(wú)法提供對(duì)外服務(wù)丑念。

   SET GLOBAL wsrep_provider_options="pc.ignore_sb=true";

2)并發(fā)寫(xiě):三個(gè)節(jié)點(diǎn)的自增起始值為1涡戳、2、3脯倚,步長(zhǎng)都為3渔彰,解決了insert問(wèn)題,但update同時(shí)對(duì)一行操作就會(huì)有問(wèn)題推正,出現(xiàn):

   Error: 1213  SQLSTATE: 40001恍涂,所以更新和寫(xiě)入在一個(gè)節(jié)點(diǎn)上操作。

3)DDL:引起全局鎖植榕,采用:pt-online-schema-change

4)MyISAM引擎不能被復(fù)制再沧,只支持innodb

5)pxc結(jié)構(gòu)里面必須有主鍵,如果沒(méi)有主建尊残,有可能會(huì)造成集中每個(gè)節(jié)點(diǎn)的Data page里的數(shù)據(jù)不一樣

6)不支持表級(jí)鎖炒瘸,不支持lock /unlock tables

7)pxc里只能把slow log ,query log 放到File里

8)不支持XA事務(wù)

9)性能由集群中性能最差的節(jié)點(diǎn)決定

配置文件注意:

wsrep_sst_method:state_snapshot_transfer(SST)使用的傳輸方法,可用方法有mysqldump寝衫、rsync和xtrabackup顷扩,前兩者在傳輸時(shí)都需要對(duì)Donor加全局只讀鎖(FLUSH TABLES WITH READ LOCK),xtrabackup則不需要(它使用percona自己提供的backup lock)慰毅。強(qiáng)烈建議采用xtrabackup

innodb_autoinc_lock_mode:只能設(shè)置為2屎即,設(shè)置為0或1時(shí)會(huì)無(wú)法正確處理死鎖問(wèn)題

注意:

集群中最后一個(gè)關(guān)閉的節(jié)點(diǎn),下次啟動(dòng)時(shí)事富,應(yīng)該按照主節(jié)點(diǎn)啟動(dòng)技俐。如何判斷哪個(gè)是最后一個(gè)關(guān)閉的節(jié)點(diǎn)呢? 查看數(shù)據(jù)目錄下 /data/grastate.dat

如果safe_to_bootstrap: 1 表是該節(jié)點(diǎn)為最后一個(gè)關(guān)閉的節(jié)點(diǎn)统台。

所有節(jié)點(diǎn)的意外退出

每個(gè)節(jié)點(diǎn)safe_to_bootstrap都等于0雕擂,挑選一個(gè)節(jié)點(diǎn)將改值設(shè)置為1,按照啟動(dòng)主節(jié)點(diǎn)的方法啟動(dòng)贱勃,其他啟動(dòng)mysql服務(wù)即可井赌。

實(shí)列:

vim /home/mysql/data/grastate.dat

# GALERA saved state

version: 2.1

uuid: f50e341c-5783-11e9-a3f2-7a3a69888747

seqno: -1

safe_to_bootstrap: 0 ---這里

其他查看:SHOW GLOBAL STATUS LIKE 'wsrep_%';

+----------------------------------+-------------------------------------------------------+

| Variable_name | Value |

+----------------------------------+-------------------------------------------------------+

| wsrep_local_state_uuid | f50e341c-5783-11e9-a3f2-7a3a69888747 |

| wsrep_protocol_version | 9 |

| wsrep_last_applied | 4571127 | --同步應(yīng)用的次數(shù)

| wsrep_last_committed | 4571127 | --表示的是當(dāng)前節(jié)點(diǎn)最新提交的事務(wù)號(hào)谤逼,也是最新galera GTID的后半部分,前半部分是參數(shù)wsrep_local_state_uuid的值仇穗,在每次執(zhí)行提交流部、DDL執(zhí)行完成或APPLY之后,都會(huì)更新這個(gè)值

| wsrep_replicated | 282517 | --表示當(dāng)前節(jié)點(diǎn)已經(jīng)復(fù)制過(guò)的事務(wù)數(shù)目

| wsrep_replicated_bytes | 246223616 | --與參數(shù)wsrep_replicated相對(duì)應(yīng)纹坐,每一個(gè)事務(wù)的大小不同枝冀,這個(gè)參數(shù)表示已經(jīng)復(fù)制的wsrep_replicated個(gè)事務(wù)總字節(jié)大小(key和data)的總和

| wsrep_repl_keys | 1463026 | --當(dāng)前節(jié)點(diǎn)已經(jīng)復(fù)制的wsrep_replicated個(gè)事務(wù)對(duì)應(yīng)的總的key的數(shù)目耘子,一個(gè)事務(wù)可以包含多個(gè)key

| wsrep_repl_keys_bytes | 18484632 | --與參數(shù)wsrep_repl_keys對(duì)應(yīng)果漾,所有發(fā)送的key的大小加起來(lái)的值,代表總的字節(jié)大小

| wsrep_repl_data_bytes | 208613711 | --與參數(shù)wsrep_repl_keys_bytes對(duì)應(yīng)谷誓,與上面幾個(gè)參數(shù)的關(guān)系時(shí):wsrep_replicated_bytes=wsrep_repl_keys_bytes+wsrep_repl_data_bytes+wsrep_replicated*64

| wsrep_repl_other_bytes | 0 |

| wsrep_received | 605577 | --與參數(shù)wsrep_replicated對(duì)應(yīng)绒障,表示當(dāng)前節(jié)點(diǎn)已經(jīng)收到的從寫(xiě)節(jié)點(diǎn)復(fù)制過(guò)的總事務(wù)數(shù),單位為事務(wù)個(gè)數(shù)

| wsrep_received_bytes | 519555160 | --對(duì)參數(shù)wsrep_received對(duì)應(yīng)捍歪,表示收到的所有事務(wù)包含的key及DATA的字節(jié)數(shù)户辱,從其他節(jié)點(diǎn)結(jié)收寫(xiě)入請(qǐng)求數(shù)據(jù)的總字節(jié)數(shù)

| wsrep_local_commits | 279602 | --表示當(dāng)前節(jié)點(diǎn)本機(jī)提交的事務(wù)個(gè)數(shù)

| wsrep_local_cert_failures | 921 | --表示本地節(jié)點(diǎn)驗(yàn)證失敗的 次數(shù)

| wsrep_local_replays | 0 | --表示本地做replay的次數(shù),這個(gè)參數(shù)值越大糙臼,表示本地出錯(cuò)頻率越高

| wsrep_local_send_queue | 0 | --表示當(dāng)前節(jié)點(diǎn)在等待復(fù)制的事務(wù)個(gè)數(shù)焕妙,就是發(fā)送隊(duì)列的長(zhǎng)度;如果該參數(shù)值越大弓摘,說(shuō)明本地壓力或網(wǎng)絡(luò)性能有問(wèn)題焚鹊,可以作為監(jiān)控指標(biāo)

| wsrep_local_send_queue_max | 2 | --當(dāng)前節(jié)點(diǎn)歷史上等待隊(duì)列最大的事務(wù)數(shù)目

| wsrep_local_send_queue_min | 0 | --當(dāng)前節(jié)點(diǎn)歷史上等待列最小的事務(wù)數(shù)目,一般就是0

| wsrep_local_send_queue_avg | 0.000732 | --當(dāng)前節(jié)點(diǎn)自從上次flush參數(shù)之后韧献,等待隊(duì)列長(zhǎng)度的平均值末患。其值越大則表示壓力越大,但是這個(gè)參數(shù)中沒(méi)有包括flow_control的等待锤窑,X1--這個(gè)和X2璧针,說(shuō)明集群隊(duì)列積累同步請(qǐng)求太多,應(yīng)該增加線程處理(其值越大則表示壓力越大)

| wsrep_local_recv_queue | 0 | --當(dāng)前節(jié)點(diǎn)從其他節(jié)點(diǎn)接受的隊(duì)列中事務(wù)個(gè)數(shù)渊啰,如果這個(gè)值達(dá)到gcs.fc_limit值的話探橱,就會(huì)發(fā)生flow control,本節(jié)點(diǎn)會(huì)向整個(gè)集群發(fā)送flow control小心绘证,整個(gè)集群會(huì)被阻塞隧膏,二等地wsrep_local_recv_queue的值小于gcs.fc_limit*gcs.fc_factor之后,flow control解除嚷那。

| wsrep_local_recv_queue_max | 931 | --表示當(dāng)前節(jié)點(diǎn)歷史接收隊(duì)列中事務(wù)的最大個(gè)數(shù)

| wsrep_local_recv_queue_min | 0 | --當(dāng)前節(jié)點(diǎn)歷史接收隊(duì)列中事務(wù)的最小個(gè)數(shù)

| wsrep_local_recv_queue_avg | 0.730698 | --當(dāng)前節(jié)點(diǎn)歷史接收隊(duì)列中事務(wù)的平均個(gè)數(shù) X2--這個(gè)和X1胞枕,說(shuō)明集群隊(duì)列積累同步請(qǐng)求太多,應(yīng)該增加線程處理(如果某個(gè)節(jié)點(diǎn)的平均值都比其他的大魏宽,則可以考慮這個(gè)機(jī)器的硬件性能是不太好腐泻,或壓力造成的决乎;)

| wsrep_local_cached_downto | 4442924 | --表示當(dāng)前節(jié)點(diǎn)cache中的最小GTID值,可以決定集群中其他節(jié)點(diǎn)在啟動(dòng)時(shí)派桩,是需要做IST還是SST

| wsrep_flow_control_paused_ns | 0 | --表示由于flow control消息引起的集群阻塞時(shí)間長(zhǎng)度构诚,單位是納秒。這個(gè)參數(shù)不能通過(guò)flush status來(lái)重置铆惑。它的值是遞增累計(jì)的

| wsrep_flow_control_paused | 0.000000 | --這個(gè)值越接近0范嘱,說(shuō)明系統(tǒng)越正常,如果差不多為1鸭津,則說(shuō)明當(dāng)前系統(tǒng)基本不能做復(fù)制了

| wsrep_flow_control_sent | 0 | --這個(gè)值越大表示這個(gè)節(jié)點(diǎn)做的越慢彤侍。如果這個(gè)值突增了肠缨,則說(shuō)明這個(gè)節(jié)點(diǎn)有可能出現(xiàn)了問(wèn)題逆趋,或這個(gè)節(jié)點(diǎn)負(fù)載增大了,導(dǎo)致apply寫(xiě)集變慢晒奕;

| wsrep_flow_control_recv | 0 | --當(dāng)這個(gè)參數(shù)突增時(shí)闻书,就需要查看是哪個(gè)節(jié)點(diǎn)的sent值突增了,那么這個(gè)節(jié)點(diǎn)就有可能存在性能問(wèn)題脑慧;

| wsrep_flow_control_interval | [ 173, 173 ] |

| wsrep_flow_control_interval_low | 173 |

| wsrep_flow_control_interval_high | 173 |

| wsrep_flow_control_status | OFF |

| wsrep_cert_deps_distance | 52.184628 | --表示一個(gè)事務(wù)的GTID2和它所依賴的事務(wù)的GTID1之間差值的總和魄眉,與這段時(shí)間內(nèi)所做的總的驗(yàn)證通過(guò)的事務(wù)(n_certified)個(gè)數(shù)的比值

| wsrep_apply_oooe | 0.037159 | --如果這個(gè)值很接近0,則說(shuō)明這個(gè)系統(tǒng)的執(zhí)行基本是串行的

| wsrep_apply_oool | 0.006556 | --如果值越大闷袒,則表示并行執(zhí)行時(shí)亂序的現(xiàn)象越多坑律;如果值越小,則說(shuō)明基本是順序執(zhí)行的囊骤;

| wsrep_apply_window | 1.083433 | --這個(gè)值越大晃择,表示并行apply事務(wù)間的GTID相差越大,這個(gè)節(jié)點(diǎn)的活動(dòng)也就越頻繁也物;

| wsrep_commit_oooe | 0.000000 | --這個(gè)參數(shù)的值永遠(yuǎn)是0

| wsrep_commit_oool | 0.006517 | --這個(gè)參數(shù)的值永遠(yuǎn)是0

| wsrep_commit_window | 1.059816 | --如果越接近1宫屠,則說(shuō)明寫(xiě)入越有秩序,事務(wù)壓力相對(duì)比較均勻滑蚯,越大則相反

| wsrep_local_state | 4 | --表示當(dāng)前節(jié)點(diǎn)的狀態(tài)浪蹂,(有4個(gè)值: 1:表示正在請(qǐng)求加入集群,速度很快一般看不到這個(gè)狀態(tài)告材;2:表示正在同步數(shù)據(jù)坤次;3:表示當(dāng)前節(jié)點(diǎn)已經(jīng)加入集群;4:表示當(dāng)前節(jié)點(diǎn)與整個(gè)集群是完全相同的)

| wsrep_local_state_comment | Synced | --節(jié)點(diǎn)狀態(tài)

| wsrep_cert_index_size | 151 | --表示當(dāng)前節(jié)點(diǎn)的驗(yàn)證隊(duì)列中斥赋,總共有多少個(gè)key

| wsrep_cert_bucket_count | 15184 |

| wsrep_gcache_pool_size | 134219040 |

| wsrep_causal_reads | 0 | --表示的是處理這種寫(xiě)集等待的次數(shù)浙踢,不過(guò)這個(gè)參數(shù)已經(jīng)不用了

| wsrep_cert_interval | 0.066156 | --表示的是,所有事務(wù)的GTID值與它們各自可以看到的最新提交事務(wù)的GTID值之間差值的總和灿渴,與這段時(shí)間內(nèi)所做的被驗(yàn)證通過(guò)事務(wù)的總個(gè)數(shù)的比值

| wsrep_open_transactions | 0 |

| wsrep_open_connections | 0 |

| wsrep_ist_receive_status | |

| wsrep_ist_receive_seqno_start | 0 |

| wsrep_ist_receive_seqno_current | 0 |

| wsrep_ist_receive_seqno_end | 0 |

| wsrep_incoming_addresses | 192.168.1.91:3307,192.168.1.89:3307,192.168.1.90:3307 | --所有已經(jīng)加入或正在加入集群的節(jié)點(diǎn)信息洛波,可以通過(guò)該信息來(lái)做監(jiān)控胰舆;

| wsrep_cluster_weight | 3 |

| wsrep_desync_count | 0 | --延時(shí)的節(jié)點(diǎn)數(shù)量

| wsrep_evs_delayed | |

| wsrep_evs_evict_list | |

| wsrep_evs_repl_latency | 0.000368105/0.000633546/0.000978417/0.000119225/85 | --表示GCOMM在消息傳送時(shí)的復(fù)制延遲,單位是秒蹬挤;采樣時(shí)間通過(guò)參數(shù)evs.stats_report_period來(lái)控制缚窿,默認(rèn)是PT1M

| wsrep_evs_state | OPERATIONAL |

| wsrep_gcomm_uuid | 51274217-5f27-11e9-87e9-03d972a6c506 |

| wsrep_cluster_conf_id | 25 | --正常情況下所有節(jié)點(diǎn)上該值是一樣的.如果值不同,說(shuō)明該節(jié)點(diǎn)被臨時(shí)"分區(qū)"了.當(dāng)節(jié)點(diǎn)之間網(wǎng)絡(luò)連接恢復(fù)的時(shí)候應(yīng)該會(huì)恢復(fù)一樣的值

| wsrep_cluster_size | 3 | --表示當(dāng)前集群中節(jié)點(diǎn)的個(gè)數(shù),與參數(shù)wsrep_incoming_addresses對(duì)應(yīng)焰扳,也可以作為監(jiān)控項(xiàng)倦零,一般監(jiān)控條件必須大于或等于3,如果是3的話吨悍,則會(huì)發(fā)生腦裂的問(wèn)題

| wsrep_cluster_state_uuid | f50e341c-5783-11e9-a3f2-7a3a69888747 | --在集群所有節(jié)點(diǎn)的值應(yīng)該是相同的,有不同值的節(jié)點(diǎn),說(shuō)明其沒(méi)有連接入集群

| wsrep_cluster_status | Primary | --集群組成的狀態(tài).如果不為"Primary",說(shuō)明出現(xiàn)"分區(qū)"或是"split-brain"狀況扫茅,屬于不正常的狀態(tài)

| wsrep_connected | ON | --如果該值為Off,且wsrep_ready的值也為Off,則說(shuō)明該節(jié)點(diǎn)沒(méi)有連接到集群.(可能是wsrep_cluster_address或wsrep_cluster_name等配置錯(cuò)造成的.具體錯(cuò)誤需要查看錯(cuò)誤日志)

| wsrep_local_bf_aborts | 501 | --表示當(dāng)前節(jié)點(diǎn)在運(yùn)行過(guò)程中,由于事務(wù)的沖突育瓜,導(dǎo)致本地事務(wù)被主動(dòng)取消的事務(wù)個(gè)數(shù)葫隙。如果這個(gè)值比較大,說(shuō)明集群的寫(xiě)入沖突比較多躏仇,可能需要調(diào)整寫(xiě)入的方式恋脚,比如切換寫(xiě)節(jié)點(diǎn)等

| wsrep_local_index | 1 | --表示當(dāng)前節(jié)點(diǎn)在集群中的編號(hào)。在集群中焰手,每個(gè)節(jié)點(diǎn)都有一個(gè)唯一的編號(hào)糟描,從0開(kāi)始計(jì)數(shù)

| wsrep_provider_name | Galera |

| wsrep_provider_vendor | Codership Oy <info@codership.com> |

| wsrep_provider_version | 3.35(rddf9876) |

| wsrep_ready | ON | --如下解釋

+----------------------------------+-------------------------------------------------------+

wsrep_ready :

正常情況下為ON,如果變?yōu)镺FF书妻,則可能是發(fā)生了腦裂船响,或者和其他節(jié)點(diǎn)之間的網(wǎng)絡(luò)連不上,

又或者是galera集群沒(méi)有正常啟動(dòng)等躲履;一般可以通過(guò)命令set global wsrep_provider_options='pc.bootstrap=yes' 來(lái)恢復(fù)见间,

不過(guò)在執(zhí)行這個(gè)命令之后,需要觀察整個(gè)集群的狀態(tài)崇呵,不然可能會(huì)導(dǎo)致這個(gè)節(jié)點(diǎn)在邏輯上脫離集群缤剧。

這個(gè)命令的作用就是讓當(dāng)前節(jié)點(diǎn)變?yōu)閜rimary,如果執(zhí)行了域慷,則說(shuō)明確定要使用這個(gè)節(jié)點(diǎn)來(lái)提供服務(wù)了荒辕;

................注意下面幾個(gè)察看命令...............

如果配置了指向集群地址,參數(shù)值犹褒,應(yīng)該是你指定集群的IP地址

mysql> SHOW VARIABLES LIKE 'wsrep_cluster_address';

此參數(shù)查看是否開(kāi)啟

mysql> show status like 'wsrep_ready';

查看集群的成員數(shù)

mysql> show status like 'wsrep_cluster_size';

這個(gè)查看wsrep的相關(guān)參數(shù)

mysql> show status like 'wsrep%';

狀態(tài)信息

show status like "%wsrep%"; # 查看集群所有信息

流量控制

如果同步隊(duì)列太大抵窒,就會(huì)進(jìn)行流量控制,控制寫(xiě)入速度叠骑。例如在集群中添加了一個(gè)新節(jié)點(diǎn)李皇,該節(jié)點(diǎn)中并沒(méi)有數(shù)據(jù)。該節(jié)點(diǎn)就會(huì)對(duì)其他節(jié)點(diǎn)發(fā)出全量同步請(qǐng)求,請(qǐng)求數(shù)據(jù)量過(guò)大掉房,就會(huì)發(fā)生流量控制茧跋。

wsrep_follow_control_paused 流控暫停時(shí)間占比(0-1)

wsrep_follow_control_send 發(fā)送的流控暫停事件的數(shù)量 (本節(jié)點(diǎn)引發(fā))

wsrep_follow_control_recv 結(jié)收的流控暫停事件的數(shù)量

wsrep_follow_control_interval 同步隊(duì)列的上下限,超過(guò)上限引發(fā)流控

wsrep_follow_control_status 流控狀態(tài) off關(guān)閉 on開(kāi)啟

解決流控:

解決帶寬卓囚、增加線程(配置文件中)瘾杭、更換性能更好的硬件

節(jié)點(diǎn)狀態(tài)

OPEN : 節(jié)點(diǎn)啟動(dòng)成功

PRIMARY : 節(jié)點(diǎn)成功加入集群

JONNER: 節(jié)點(diǎn)同步數(shù)據(jù)

JONNED: 節(jié)點(diǎn)同步數(shù)據(jù)成功

SYNCED: 該節(jié)點(diǎn)可以對(duì)外同步讀寫(xiě)數(shù)據(jù)

DONNER: 有節(jié)點(diǎn)對(duì)改節(jié)點(diǎn)進(jìn)行全量同步

集群的狀態(tài)

PRIMARY: 正常狀態(tài)

NON-PRIMARY: 腦裂狀態(tài)

DISCONNECTED:斷開(kāi)連接狀態(tài)

腦裂(建議采用奇數(shù)的集群,偶數(shù)的集群容易腦裂)

數(shù)據(jù)沒(méi)有同步成功哪亿,造成兩個(gè)節(jié)點(diǎn)數(shù)據(jù)不一致稱之為腦裂狀態(tài)粥烁。

PXC方案:如果一個(gè)節(jié)點(diǎn)能夠連接的其他節(jié)點(diǎn)數(shù)量不足半數(shù),斷開(kāi)該節(jié)點(diǎn)蝇棉。能夠連接其他節(jié)點(diǎn)的數(shù)量超過(guò)半數(shù)的這些節(jié)點(diǎn)組成一個(gè)集群讨阻,此時(shí)處于NON-PRIMARY 狀態(tài)還能夠?qū)ν馓峁┳x寫(xiě)服務(wù)。

集群與節(jié)點(diǎn)相關(guān)信息

wsrep_local_state_comment 節(jié)點(diǎn)狀態(tài)

wsrep_cluster_status 集群狀態(tài)

wsrep_connected 節(jié)點(diǎn)是否連接到集群

wsrep_ready 集群是否正常工作

wsrep_cluster_size 節(jié)點(diǎn)數(shù)量

wsrep_desync_count 延時(shí)節(jié)點(diǎn)數(shù)量

wsrep_incomming_address 節(jié)點(diǎn)的IP地址

事務(wù)相關(guān)信息

wsrep_cert_deps_distance 事務(wù)執(zhí)行并發(fā)數(shù)

wsrep_apply_oooe 結(jié)收隊(duì)列中事務(wù)占比

wsrep_apply_oool 結(jié)收隊(duì)列中事務(wù)亂序執(zhí)行頻率

wsrep_apply_window 結(jié)收隊(duì)列中事務(wù)的平均數(shù)量

wsrep_commit_oooe 發(fā)送隊(duì)列中事務(wù)占比

wsrep_commit_oool 發(fā)送隊(duì)列中事務(wù)亂序執(zhí)行頻率 (不存在沒(méi)意義)

wsrep_commit_window 發(fā)送隊(duì)列中事務(wù)的平均數(shù)量

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載篡殷,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者钝吮。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贴唇,隨后出現(xiàn)的幾起案子搀绣,更是在濱河造成了極大的恐慌飞袋,老刑警劉巖戳气,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異巧鸭,居然都是意外死亡瓶您,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)纲仍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)呀袱,“玉大人,你說(shuō)我怎么就攤上這事郑叠∫拐裕” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵乡革,是天一觀的道長(zhǎng)寇僧。 經(jīng)常有香客問(wèn)我,道長(zhǎng)沸版,這世上最難降的妖魔是什么嘁傀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮视粮,結(jié)果婚禮上细办,老公的妹妹穿的比我還像新娘。我一直安慰自己蕾殴,他們只是感情好笑撞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布岛啸。 她就那樣靜靜地躺著,像睡著了一般茴肥。 火紅的嫁衣襯著肌膚如雪值戳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天炉爆,我揣著相機(jī)與錄音堕虹,去河邊找鬼。 笑死芬首,一個(gè)胖子當(dāng)著我的面吹牛赴捞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播郁稍,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼赦政,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了耀怜?” 一聲冷哼從身側(cè)響起恢着,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎财破,沒(méi)想到半個(gè)月后掰派,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡左痢,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年靡羡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俊性。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡略步,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出定页,到底是詐尸還是另有隱情趟薄,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布典徊,位于F島的核電站杭煎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏宫峦。R本人自食惡果不足惜岔帽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望导绷。 院中可真熱鬧犀勒,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至褂萧,卻和暖如春押桃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背导犹。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工唱凯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人谎痢。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓磕昼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親节猿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子票从,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容