Mariadb Galera Cluster 集群搭建

站在巨人的肩膀上

part.0 環(huán)境信息

操作系統(tǒng): centos7.4
集群節(jié)點數(shù): 3
主機信息:
192.168.1.217 node1 selinux=disable
192.168.1.227 node2 selinux=disable
192.168.1.238 node3 selinux=disable

part.1 集群搭建步驟

1.1 修改hosts文件信息

$ vi /etc/hosts
192.168.1.217 node1
192.168.1.227 node2
192.168.1.238 node3

1.2 引入mariadb repo 文件

$ vi /etc/yum.repo.d/mariadb.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

然后進行安裝

$ sudo yum install MariaDB-server MariaDB-client galera

1.3 mariadb 初始化與權(quán)限分配

systemctl start mariadb
mysql_secure_installation 

在初始化過程中摩钙,可以對root密碼進行修改等操作
然后對用戶進行授權(quán)

mysql> grant all privileges on *.* to root@'%' identified by '密碼';
mysql> flush privileges;

1.4 配置 galera

$ vi /etc/my.cnf.d/server.cnf

[galera]
wsrep_on=ON 
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://192.168.1.217,192.168.1.227,192.168.1.238"
wsrep_node_name= node1
wsrep_node_address=192.168.1.217
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_slave_threads=1
innodb_flush_log_at_trx_commit=0
innodb_buffer_pool_size=120M
wsrep_sst_method=rsync
wsrep_causal_reads=ON

此文件在三個節(jié)點中都需要修改。并且根據(jù)節(jié)點的信息來修改wsrep_node_address和wsrep_node_name兩項,修改為相應(yīng)節(jié)點的hostname和ip东臀。

part.2 啟動集群

啟動 MariaDB Galera Cluster 服務(wù):

$ galera_new_cluster
$ systemctl start mariadb

啟動后可以查看集群的狀態(tài),集群服務(wù)將使用4567和3306兩個端口恢总。

$ netstat -tulpn | grep -e 4567 -e 3306
tcp        0      0 0.0.0.0:4567            0.0.0.0:*               LISTEN      13436/mysqld        
tcp6       0      0 :::3306                 :::*                    LISTEN      13436/mysqld  

其他節(jié)點的啟動方式相同。

part.3 驗證集群是否正常

3.1 查看galera插件

MariaDB [(none)]>  show status like "wsrep_ready";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_ready   | ON    |
+---------------+-------+

3.2 查看集群集齊數(shù)

MariaDB [(none)]> show status like "wsrep_cluster_size";
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

3.3 查看集群狀態(tài)

MariaDB [(none)]> show status like "wsrep%";
+------------------------------+----------------------------------------------------------+
| Variable_name                | Value                                                    |
+------------------------------+----------------------------------------------------------+
| wsrep_apply_oooe             | 0.000000                                                 |
| wsrep_apply_oool             | 0.000000                                                 |
| wsrep_apply_window           | 1.000000                                                 |
| wsrep_causal_reads           | 6                                                        |
| wsrep_cert_deps_distance     | 0.000000                                                 |
| wsrep_cert_index_size        | 0                                                        |
| wsrep_cert_interval          | 0.000000                                                 |
| wsrep_cluster_conf_id        | 7                                                        |
| wsrep_cluster_size           | 3                                                        | 集群成員
| wsrep_cluster_state_uuid     | f16cdbb3-495a-11e9-8b44-df48c6cbb633                     | 集群唯一標(biāo)識
| wsrep_cluster_status         | Primary                                                  | 主服務(wù)器
| wsrep_cluster_weight         | 3                                                        | 
| wsrep_commit_oooe            | 0.000000                                                 |
| wsrep_commit_oool            | 0.000000                                                 |
| wsrep_commit_window          | 1.000000                                                 |
| wsrep_connected              | ON                                                       | 當(dāng)前是否連接
| wsrep_desync_count           | 0                                                        |
| wsrep_evs_delayed            |                                                          |
| wsrep_evs_evict_list         |                                                          |
| wsrep_evs_repl_latency       | 0/0/0/0/0                                                |
| wsrep_evs_state              | OPERATIONAL                                              |
| wsrep_flow_control_paused    | 0.000000                                                 |
| wsrep_flow_control_paused_ns | 0                                                        |
| wsrep_flow_control_recv      | 0                                                        |
| wsrep_flow_control_sent      | 0                                                        |
| wsrep_gcomm_uuid             | c81b04a3-495b-11e9-9b95-3bff3ad9deb1                     |
| wsrep_incoming_addresses     | 192.168.1.227:3306,192.168.1.238:3306,192.168.1.217:3306 | 連接中的數(shù)據(jù)庫
| wsrep_last_committed         | 6                                                        | sql提交記錄
| wsrep_local_bf_aborts        | 0                                                        | 執(zhí)行事務(wù)過程被本地中斷
| wsrep_local_cached_downto    | 18446744073709551615                                     |
| wsrep_local_cert_failures    | 0                                                        |
| wsrep_local_commits          | 0                                                        |
| wsrep_local_index            | 0                                                        |
| wsrep_local_recv_queue       | 0                                                        |
| wsrep_local_recv_queue_avg   | 0.000000                                                 |
| wsrep_local_recv_queue_max   | 1                                                        |
| wsrep_local_recv_queue_min   | 0                                                        |
| wsrep_local_replays          | 0                                                        |
| wsrep_local_send_queue       | 0                                                        |
| wsrep_local_send_queue_avg   | 0.000000                                                 |
| wsrep_local_send_queue_max   | 1                                                        |
| wsrep_local_send_queue_min   | 0                                                        |
| wsrep_local_state            | 4                                                        |
| wsrep_local_state_comment    | Synced                                                   |
| wsrep_local_state_uuid       | f16cdbb3-495a-11e9-8b44-df48c6cbb633                     | 集群ID
| wsrep_open_connections       | 0                                                        |
| wsrep_open_transactions      | 0                                                        |
| wsrep_protocol_version       | 9                                                        |
| wsrep_provider_name          | Galera                                                   |
| wsrep_provider_vendor        | Codership Oy <info@codership.com>                        |
| wsrep_provider_version       | 25.3.25(r3836)                                           |
| wsrep_ready                  | ON                                                       |
| wsrep_received               | 4                                                        |
| wsrep_received_bytes         | 494                                                      |
| wsrep_repl_data_bytes        | 0                                                        |
| wsrep_repl_keys              | 0                                                        |
| wsrep_repl_keys_bytes        | 0                                                        |
| wsrep_repl_other_bytes       | 0                                                        |
| wsrep_replicated             | 0                                                        |
| wsrep_replicated_bytes       | 0                                                        |
| wsrep_thread_count           | 2                                                        |
+------------------------------+----------------------------------------------------------+

3.4 查看連接的主機

MariaDB [(none)]> show status like "wsrep_incoming_addresses";
+--------------------------+----------------------------------------------------------+
| Variable_name            | Value                                                    |
+--------------------------+----------------------------------------------------------+
| wsrep_incoming_addresses | 192.168.1.227:3306,192.168.1.238:3306,192.168.1.217:3306 |
+--------------------------+----------------------------------------------------------+

3.5 測試是否能同步

在node1節(jié)點創(chuàng)建一個數(shù)據(jù)庫,然后在其他節(jié)點進行驗證。

MariaDB [(none)]> create database tests;
Query OK, 1 row affected (0.010 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| tests              |
| mysql              |
| performance_schema |
+--------------------+

在其他節(jié)點使用show databases吨娜,查看是否同樣有tests數(shù)據(jù)庫麻顶。

補充:

異常問題1:galera主機非正常關(guān)機赦抖,比如遭遇停電等情況。
異常處理: 可直接開啟galera集群的主服務(wù)器主機的mariadb服務(wù)辅肾,在開啟成員主機的mariadb服務(wù)队萤。

異常問題2 :galera集群的主服務(wù)器和成員主機的mysql服務(wù)無法啟動。
異常處理: 刪除garlera主服務(wù)器的/var/lib/mysql/grastate.dat狀態(tài)文件矫钓,galera_new_cluster啟動服務(wù)要尔。啟動正常。登錄并查看wsrep狀態(tài)新娜。刪除galera成員主機中的/var/lib/mysql/grastate.dat狀態(tài)文件盈电,systemctl restart mariadb重啟服務(wù)。啟動正常杯活。登錄并查看wsrep狀態(tài)匆帚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市旁钧,隨后出現(xiàn)的幾起案子吸重,更是在濱河造成了極大的恐慌,老刑警劉巖歪今,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嚎幸,死亡現(xiàn)場離奇詭異,居然都是意外死亡寄猩,警方通過查閱死者的電腦和手機嫉晶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人替废,你說我怎么就攤上這事箍铭。” “怎么了椎镣?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵诈火,是天一觀的道長。 經(jīng)常有香客問我状答,道長冷守,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任惊科,我火速辦了婚禮拍摇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘馆截。我一直安慰自己充活,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布孙咪。 她就那樣靜靜地躺著堪唐,像睡著了一般巡语。 火紅的嫁衣襯著肌膚如雪翎蹈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天男公,我揣著相機與錄音荤堪,去河邊找鬼。 笑死枢赔,一個胖子當(dāng)著我的面吹牛澄阳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踏拜,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碎赢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了速梗?” 一聲冷哼從身側(cè)響起肮塞,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎姻锁,沒想到半個月后枕赵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡位隶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年拷窜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡篮昧,死狀恐怖赋荆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恋谭,我是刑警寧澤糠睡,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站疚颊,受9級特大地震影響狈孔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜材义,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一均抽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧其掂,春花似錦油挥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贤牛,卻和暖如春惋鹅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背殉簸。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工闰集, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人般卑。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓武鲁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蝠检。 傳聞我的和親對象是個殘疾皇子沐鼠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

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