1. 程式人生 > >PXC 5.6安裝搭建和高可用測試

PXC 5.6安裝搭建和高可用測試

一.基本資訊
叢集名:pxczxw
節點一:10.16.24.107
節點二:10.16.24.108
節點三:10.16.24.109

cd /usr/local
ln -s /opt/mysql/Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql

建立目錄如下:
mkdir -p /data/mysql/mysql_3306/{data,logs,tmp}

關閉防火牆和selinux:
/etc/selinux/config中:SELINUX=disabled,並重啟OS
service iptables stop ,並chkconfig iptables off

從其它主機將已準備好的my.cnf檔案copy到/etc/下,並修改3376為3306:
sed -i 's/3376/3306/g' my.cnf
sed -i 's/mysql3306/mysql_3306/g' my.cnf

並將my.cnf檔案scp到另兩臺主機:
scp /etc/my.cnf 10.16.24.108:/etc/
scp /etc/my.cnf 10.16.24.109:/etc/

並調整my.cnf的引數:
10.16.24.108:
server-id       =1083306
10.16.24.109:
server-id       =1093306

建立mysql的使用者及組
groupadd mysql
useradd -g mysql -s /bin/bash -d /usr/local/mysql mysql


建立啟動檔案:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

chown -R mysql:mysql /data/mysql/mysql_3306

ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6

ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

vi /etc/profile
export PATH=/usr/local/mysql/bin:$PATH

source /etc/profile

四.pxc配置和啟動
在/etc/my.cnf檔案中[mysqld]增加如下:
#percona xtradb cluster
10.16.24.107:
default_storage_engine=InnoDB
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
wsrep_provider_options="gcache.size=1999M"
wsrep_cluster_name='pcx_zengxw'
wsrep_cluster_address="gcomm://10.16.24.107,10.16.24.108,10.16.24.109"
wsrep_node_address="10.16.24.107"
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
#wsrep_sst_method=rsync
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=sst:zengxw1

10.16.24.108:
default_storage_engine=InnoDB
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
wsrep_provider_options="gcache.size=1999M"
wsrep_cluster_name='pcx_zengxw'
wsrep_cluster_address="gcomm://10.16.24.107,10.16.24.108,10.16.24.109"
wsrep_node_address="10.16.24.108"
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
#wsrep_sst_method=rsync
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=sst:zengxw1

10.16.24.109:
default_storage_engine=InnoDB
innodb_locks_unsafe_for_binlog=1
innodb_autoinc_lock_mode=2
wsrep_provider_options="gcache.size=1999M"
wsrep_cluster_name='pcx_zengxw'
wsrep_cluster_address="gcomm://10.16.24.107,10.16.24.108,10.16.24.109"
wsrep_node_address="10.16.24.109"
wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so
#wsrep_sst_method=rsync
wsrep_sst_method=xtrabackup-v2
wsrep_sst_auth=sst:zengxw1

初始化mysql:
cd /usr/local/mysql
./scripts/mysql_install_db

第一個節點啟動(mysql使用者):
/etc/init.d/mysql bootstrap-pxc

只需在第一個節點上操作:
delete from mysql.user where user!='root' or host!='localhost';
truncate mysql.db;
drop database test;
grant all privileges on *.* to 'zengxw'@'%' identified by 'zengxw1';
grant all privileges on *.* to 'sst'@'localhost' identified by 'zengxw1';
grant reload,lock tables,replication client on *.* to 'sst'@'localhost' identified by 'zengxw1';
flush privileges;

/usr/local/mysql/bin/mysqladmin -u root password 'safe2016'

其它節點啟動(mysql使用者):
/etc/init.d/mysql start
Stale sst_in_progress file in datadir
Starting MySQL (Percona XtraDB Cluster)State transfer in progress, setting sleep higher
...[  OK  ]

關閉:
/etc/init.d/mysql stop

五.pxc叢集檢查

1.通過檢視4567 埠確認叢集是否啟動:
netstat -plantu | grep mysqld

2.檢查叢集是否正常

 Show global status like "wsrep_local_state";
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| wsrep_local_state | 4     |  ---表示正常監聽
+-------------------+-------+
1 row in set (0.00 sec)

 Show global status like "wsrep_local_state_comment";
 +---------------------------+--------+
| Variable_name             | Value  |
+---------------------------+--------+
| wsrep_local_state_comment | Synced |
+---------------------------+--------+
1 row in set (0.00 sec)

Show global status like "wsrep_cluster_status";
+----------------------+---------+
| Variable_name        | Value   |
+----------------------+---------+
| wsrep_cluster_status | Primary |  ---表示主節點能正常寫入
+----------------------+---------+
1 row in set (0.00 sec)
 Show global status like "wsrep_connected";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| wsrep_connected | ON    |
+-----------------+-------+
1 row in set (0.00 sec)


3.監控叢集
檢視MySQL版本: 
SHOW GLOBAL VARIABLES LIKE 'version';
+---------------+----------------------+
| Variable_name | Value                |
+---------------+----------------------+
| version       | 5.6.21-70.1-25.8-log |
+---------------+----------------------+
1 row in set (0.00 sec)

檢視wsrep版本: mysql> SHOW GLOBAL STATUS LIKE 'wsrep_provider_version';
+------------------------+---------------+
| Variable_name          | Value         |
+------------------------+---------------+
| wsrep_provider_version | 3.8(rf6147dd) |
+------------------------+---------------+
1 row in set (0.00 sec)

檢視wsrep有關的所有變數: mysql> SHOW VARIABLES LIKE 'wsrep%' \G

檢視叢集狀態: mysql> show status like 'wsrep%';
監控狀態引數說明:
叢集完整性檢查:
            wsrep_cluster_state_uuid:在叢集所有節點的值應該是相同的,有不同值的節點,說明其沒有連線入叢集.
            wsrep_cluster_conf_id:正常情況下所有節點上該值是一樣的.如果值不同,說明該節點被臨時"分割槽"了.當節點之間網路連線恢復的時候應該會恢復一樣的值.
            wsrep_cluster_size:如果這個值跟預期的節點數一致,則所有的叢集節點已經連線.
            wsrep_cluster_status:叢集組成的狀態.如果不為"Primary",說明出現"分割槽"或是"split-brain"狀況.
節點狀態檢查:
            wsrep_ready: 該值為ON,則說明可以接受SQL負載.如果為Off,則需要檢查wsrep_connected.
            wsrep_connected: 如果該值為Off,且wsrep_ready的值也為Off,則說明該節點沒有連線到叢集.(可能是wsrep_cluster_address或wsrep_cluster_name等配置錯造成的.具體錯誤

需要檢視錯誤日誌)
            wsrep_local_state_comment:如果wsrep_connected為On,但wsrep_ready為OFF,則可以從該項檢視原因.
複製健康檢查:
            wsrep_flow_control_paused:表示複製停止了多長時間.即表明叢集因為Slave延遲而慢的程度.值為0~1,越靠近0越好,值為1表示複製完全停止.可優化wsrep_slave_threads的值

來改善.
            wsrep_cert_deps_distance:有多少事務可以並行應用處理.wsrep_slave_threads設定的值不應該高出該值太多.
            wsrep_flow_control_sent:表示該節點已經停止複製了多少次.
            wsrep_local_recv_queue_avg:表示slave事務佇列的平均長度.slave瓶頸的預兆.
最慢的節點的wsrep_flow_control_sent和wsrep_local_recv_queue_avg這兩個值最高.這兩個值較低的話,相對更好.
檢測慢網路問題:
            wsrep_local_send_queue_avg:網路瓶頸的預兆.如果這個值比較高的話,可能存在網路瓶
衝突或死鎖的數目:
            wsrep_last_committed:最後提交的事務數目
            wsrep_local_cert_failures和wsrep_local_bf_aborts:回滾,檢測到的衝突數目 

六. 高可用測試
1)在節點1上建立demo資料庫,節點2和節點3是自動建立demo
節點1:
(product)[email protected] [(none)]> create database demo;

(product)[email protected] [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
+--------------------+

節點2:
(product)[email protected] [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
+--------------------+


節點3:
(product)[email protected] [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demo               |
| mysql              |
| performance_schema |
+--------------------+

2)在關掉節點1後,操作節點2,再啟動節點1,節點2的資料自動與節點1同步
節點1:
-bash-4.1$ /etc/init.d/mysql stop
Shutting down MySQL (Percona XtraDB Cluster)......[  OK  ]

節點2:
(product)[email protected] [(none)]> use demo
(product)[email protected] [demo]> CREATE TABLE `demo1` (
  `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `OID` int(11) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

節點1:
(product)[email protected] [(none)]> use demo
Database changed
(product)[email protected] [demo]> show tables;
+----------------+
| Tables_in_demo |
+----------------+
| demo1          |
+----------------+
1 row in set (0.00 sec)

3) 節點3寫入資料,檢查節點一和節點二是否自動同步

節點3:
insert into demo1 select 1,1;
節點1和節點2:
select * from demo1

節點2:
insert into demo1 select 2,2;
節點1和節點2:
select * from demo1

節點1:
insert into demo1 select 3,3;
節點2和節點3:
select * from demo1

相關推薦

PXC 5.6安裝搭建可用測試

一.基本資訊叢集名:pxczxw 節點一:10.16.24.107 節點二:10.16.24.108 節點三:10.16.24.109 cd /usr/local ln -s /opt/mysql/Percona-XtraDB-Cluster-5.6.21-rel70.

HBase 叢集搭建可用配置

HBase叢集建立在hadoop叢集基礎之上,所以在搭建HBase叢集之前需要把Hadoop叢集搭建起來,並且要考慮二者的相容性.現在就以3臺機器為例,搭建一個簡單的叢集. 1.進入hbase的配置目錄,在hbase-env.sh檔案裡面加入java環境變數.即: JAVA_HOME=exp

紅帽5、紅帽6、紅帽7 可用解決方案的組合程序

resource lin 底層 方式 crm 一個 message 守護 ha集群 紅帽6:corosync 版本1 + pacemaker + pcs或crmsh corosync 版本1 + cman + pacemaker 紅帽7:corosync + pac

mysql 5.6 安裝使用

1.下載mysql_installer_community_V5.6.21.1_setup.1418020972.msi.。雙擊開啟。2.如果開啟的時候提示電腦缺少元件, 那麼就自行按照錯誤搜尋需要的元件。 3.如果在安裝過程中出現部分模組安裝失敗,可以先安裝電腦需要的元

centos 6.5安裝Elasticsearch 5.6.3叢集Head外掛

LInux: 檢視centos版本:lsb_release -a CentOS release 6.5 (Final) 準備: java安裝 yum list installed | grep java yum -y list java* yum instal

hbase學習(二)hbase單機可用完全分布式安裝部署

logger .com 。。 4.6 ast family pac containe common hbase版本 2.0.4 與hadoop兼容表http://hbase.apache.org/book.html#hadoop 我的 hadoop版本是3.1

CentOS-6.8系列-FastDFS可用叢集安裝指南

本文章也是在參考了網上好多相關文章(主要參考文章見文末)後自學整理的,如有錯誤之處煩請留言指正。 1.伺服器叢集IP規劃(可自行調整) Tracker伺服器: 192.168.152.11 192.168.152.14

consul 安裝可用配置

consul 類似於eureka的註冊中心(單獨的服務) 1.根據需要下載consul(1.0和0.9的版本風格上有些差異) 也可以用命令列直接安裝(這裡安裝的是最新的版本) brew install consul 2.下載完解壓並將二進位制檔

一張圖講解最少機器搭建FastDFS可用分散式叢集安裝說明

 很幸運參與零售雲快消平臺的公有云搭建及孵化專案。零售雲快消平臺源於零售雲家電3C平臺私有專案,是與公司業務強耦合的。為了適用於全場景全品類平臺,集團要求專案平臺化,我們搶先並承擔了此任務。並由我來主要負責平臺建設及專案落地。  今天講解在零售雲快消平臺中使用的圖片服務FastDFS叢集搭建說明,此叢集模式是

Redis5.0 主從模式可用 搭建測試報告

Redis 單機模式很簡單,相關測試水文看這裡 Redis5 壓力測試結果反饋報告 必須的,今天接著寫水文,寫一寫現在redis 支援的三種叢集,主從模式,哨兵模式,Cluster模式,今天先搞主從模式 主從模式  主從模式是最簡單的叢集模式,其實就是複製基本只能解決讀寫分離問題,主機伺服器一旦宕機

塗抹mysql筆記-搭建mysql可用體系

argument 並且 ren enum 記錄 ica 操作系統 ner 一份 mysql的高可用體系<>追求更高穩定性的服務體系 可擴展性:橫向擴展(增加節點)、縱向擴展(增加節點的硬件配置) 高可用性<>Slave+LVS+Keepalived實

LVS-DR+keepalived 搭建web可用負載均衡

lvs-dr+keepalived配置實驗環境 redhat6.5 2.6.32-431.el6.x86_64 keepalived-1.2.16版本ipvsadm-1.26-2.el6.x86_64所有的虛擬機 都 關閉防火墻和selinux 配置好了本地yum源搭建要求是對LVS-DR模式的原理熟

5.6 安裝slack,Skype

以及 打開 .cn sta 安裝包 ack bsp 5.6 分享 1.將安裝包放到自己的目錄下: 2.打開終端,進入安裝包所在的目錄(cd /文件名) 3.輸入命令:sudo apt-get install 安裝包名  4.等待安裝結束 5. 在搜索框中輸入關鍵字slac

python3.5+win7 安裝 numpy scipy的總結

.com com uci 自動 nac one win7 org 問題 1.安裝numpy。 官網下載numpy。下載地址為https://pypi.Python.org/pypi/numpy。選擇與Python版本相對應的numpy版本。之後在python35的

Zabbix實戰-簡易教程(6)--Server端可用

then lock file timeout conf 腳本 secret oot rac div 3.4 server前端高可用 至此,單臺Zabbix server環境已經搭建完成,為了達到高可用效果,我們需要通過2臺服務器之間通過HA軟件進行探測,一旦檢測到主的

springcloud(八):配置中心服務化可用

artifact 會有 mage set color config 客戶 prop XML 在前兩篇的介紹中,客戶端都是直接調用配置中心的server端來獲取配置文件信息。這樣就存在了一個問題,客戶端和服務端的耦合性太高,如果server端要做集群,客戶端只能通過原始的方式

mysql+mycat搭建穩定可用集群,負載均衡,主備復制,讀寫分離

root用戶 架構 .bat 出現 內存 ace 權威指南 上層 復制 主要思路 測試環境 實現mysql主備復制 配置A主mysql 配置B備mysql 驗證同步配置結果 驗證是否同步 關閉B備mysql的同步,驗證讀寫分離

mysql 5.6 安裝教程

行數 歡迎界面 來安 ace ber default startup 開發 def 首先是下載 mysql-installer-community-5.6.14.0.msi ,大家可以到 mysql 官方網去下載,也可以到筆者所提供的地址去下載,下載方法在這裏就不多

keepalived 安裝配置(可用VIP),雙主模式

keepalived 高可用 雙主模式 郵件腳本 首先需要明白我們準備使用keepalived來做什麽,今天這裏只是給大家簡單安裝和配置下keepalived實現vip對外服務,防止單點故障。keepalived是高可用高可用高可用 而非負載非負載非負載。 下面我將使用keepalived部署雙主模模式,

myql 5.6 安裝

mysql用戶 sync ans dea ase down fat datadir interact 環境: centos 6.5 192.168.9.28 4核4G 虛擬機 一. 安裝編譯源碼所需要的工具和庫 [root@localhost ~]# yum -