MariaDB Galera Cluster 10.1 บน CentOS 7

MariaDB Galera Cluster เวอร์ชัน 10.1 จะมีความแตกต่างกับ MariaDB Galera Cluster เวอร์ชัน 5.5 พอสมควร ทั้งในส่วนของไฟล์คอนฟิก และคำสั่งที่ใช้ในการสตาร์ท Cluster มีอะไรเปลี่ยนแปลงบ้างมาดูกันครับ

ตัวอย่างที่จะนำเสนอ จะมีคอมพิวเตอร์ 3 เครื่อง

Node1 –> IP 192.168.1.11

Node2 –> IP 192.168.1.12

Node3 –> IP 192.168.1.13

ติดตั้ง MariaDB10.1

ทำทั้ง 3 เครื่อง เพิ่มแหล่งดาวน์โหลด MariaDB 10.1 จาก
https://downloads.mariadb.org/mariadb/repositories

บันทึกไฟล์ ชื่อไฟล์ MariaDB.repo ไว้ที่ /etc/yum.repos.d

เสร็จแล้วใช้คำสั่ง

สำหรับเวอร์ชัน 10.1 แค่สั่ง yum install MariaDB-server แพ็กเก็จอื่นๆ ที่จำเป็นเกี่ยวกับ Cluster ก็จะถูกติดตั้งให้เองทั้งหมด ไม่ว่าจะเป็น galera rsync หรืออื่นๆ

 

คอนฟิก MariaDB 10.1
ทำเหมือนกันทั้ง 3 เครื่อง

หลังจากที่ติดตั้งเสร็จ ให้ mysql ทำงาน ด้วยคำสั่ง

หลังจากนั้นรันคำสั่ง

Enter current password for root (enter for none):  กรณีที่ยังไม่ได้ตั้งรหัสผ่าน ให้ Enter ผ่าน
ให้ตอบคำถามของ mysql_secure_installation  ดังต่อไปนี้

Set root password? [Y/n]  y  # ในที่นี้ตั้งระหัสผ่าน 123456

Remove anonymous users? [Y/n]} y

Disallow root login remotely? [Y/n]  n

Remove test database and access to it? [Y/n]  y

Reload privilege tables now? [Y/n]}  y

เสร็จแล้วสั่ง

ในการทำ Cluster เราจำเป็นต้องสั่งให้ Cluster ทำงาน ด้วยตัวเราเอง ไม่ให้ระบบสตาร์ท MariaDB เอง จึงจำเป็นต้องใช้คำสั่ง
#systemctl disable mariadb.service

****ย้ำทำขั้นตอนที่กล่าวมาทั้ง 3 เครื่อง

 

ไฟล์คอนฟิก Cluster

ไฟล์คอนฟิก /etc/my.cnf ทั้ง 3 เครื่อง ต้องมี บรรทัดนี้

ไฟล์คอนฟิก /etc/my.cnf.d/server.cnf  ของ Node1

ไฟล์คอนฟิก /etc/my.cnf.d/server.cnf  ของ Node2

ไฟล์คอนฟิก /etc/my.cnf.d/server.cnf  ของ Node3

เมื่อคอนฟิกเสร็จแล้ว

Node1 สั่งสตาร์ท Cluster ด้วยคำสั่ง

Node2

Node 3
ก่อนสตาร์ท Node 3 ต้องรอดูให้ Node 2 ดึงข้อมูลมาจาก Node1 ให้หมดก่อน นั่นก็คือสังเกตุจาก การขึ้น prompt หรือ การทำงานของ rsync หยุดลงก่อน ซึ่งจะช้าหรือเร็วขึ้นอยู่กับปริมาณข้อมูลใน Node1

cluster

แล้วค่อยสั่งสตาร์ท

ที่ Node3 จะสตาร์ทสำเร็จก็ดูได้เช่นเดียวกับ Node2

 

ตรวจสอบว่า Cluster สตาร์ทได้สำเร็จจริงหรือไม่

ตรวจสอบที่เครื่อง Node ไหนก็ได้ โดยใช้คำสั่ง mysql

ถ้าได้ผลดังภาพก็ถือว่าสตาร์ท Cluster ได้สำเร็จ คือมี IP ทั้งสามเข้ามาเป็นสมาชิกของ Cluster

cluster1

แต่ถ้าให้ชัวร์กว่านั้นให้ ทดลองสร้างฐานข้อมูลที่ Node ใด Node หนึ่ง แล้ว ไป show databases;  ที่โหนดอื่น ถ้ามี Database ครบทุก Node ก็สำเร็จครับ

 

อ้างอิง : https://mariadb.com/kb/en/mariadb/getting-started-with-mariadb-galera-cluster/

แสดงความคิดเห็น

ความคิดเห็น

ใส่ความเห็น