BMS-HOSxP Community
HOSxP => MySQL => ข้อความที่เริ่มโดย: doramon ที่ เมษายน 29, 2010, 04:31:11 AM
-
ติดตั้ง MySQL Cluster
(http://3.bp.blogspot.com/_i6gqDiSc70A/RtbS28TbBbI/AAAAAAAAACQ/gFhzU8Qfdjk/s1600/mysql-cluster-1.jpg)
ใน บทความนี้จะใช้เครื่องจำนวน 4 เครื่อง โดยแต่ละเครื่องจะมีหน้าที่ storages node จำนวน 2 เครื่อง (mysql-ndb-1 และ mysql-ndb-2) API node จำนวน 1 เครื่อง (mysql-api-1) และ Management node จำนวน 1 เครื่อง (mgmt)
package สำหรับการติดตั้ง MySQL Cluster
MySQL-clustermanagement-community.xxxx.rpm,
MySQL-clusterstorage-community.xxxx.rpm,
MySQL-clustertools-community.xxxx.rpm,
MySQL-clusterextra-community.xxxx.rpm
เมื่อทำการติดตั้ง package เรียบร้อยแล้ว ต่อมาให้มาที่เครื่อง mgmt
และพิมพ์คำสั่งและแก้ไขไฟล์ config ตามด้านล่าง
mgmt# mkdir /var/lib/mysql-clustermgmt# vi /var/lib/mysql-cluster/config.ini
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Management Server
[NDB_MGMD]
HostName=192.168.0.32 # IP address of this server
# Storage Nodes
[NDBD]
HostName=192.168.0.33 # IP address of storage-node-1
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=192.168.0.34 # IP address of storage-node-2
DataDir=/var/lib/mysql-cluster
# Setup node IDs for mySQL API-servers (clients of the cluster)
[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]
เมื่อแก้ไขไฟล์เสร็จเรียบร้อยแล้วให้ใช้คำสั่ง
mgmt# ndb_mgmd
ต่อจากนั้นก็ตรวจสอบดูว่าคำสั่ง ndb_mgmd ได้รันเรียบร้อยแล้วหรือยัง โดยใช้คำสั่ง
mgmt# ps -ef | grep [n]db
จากนั้นมาแก้ไขไฟล์ /etc/my.cnf ของเครื่อง storage node ทั้งสองตามคำสั่งด้านล่าง
mysql-ndb-1# vi /etc/my.cnf
mysql-ndb-2# vi /etc/my.cnf
การแก้ไขไฟล์ของ storage node ทั้งสองเพื่อระบุว่าเครื่องไหนเป็นเครื่อง management โดยให้แก้ไขเหมือนกันโดยใส่ค่าเพิ่มเติมเข้าไปตามด้านล่าง
[mysqld]
ndbcluster
ndb-connectstring=’host=192.168.0.32′ # IP address of the management server
[mysql_cluster]
ndb-connectstring=’host=192.168.0.32′ # IP address of the management server
mysql-ndb-1# mkdir /var/lib/mysql-cluster
mysql-ndb-1# service mysqld start
mysql-ndb-2# mkdir /var/lib/mysql-cluster
mysql-ndb-2# service mysqld start
เมื่อทำการ start service ของ MySQL Storage node ทั้งสองเครื่องแล้ว ให้มาตรวจสอบ
เพื่อให้แน่ใจว่าเครื่องทั้งสามได้ทำการเชื่อมต่อกันเป็นที่เรียบร้อยแล้ว โดยใช้คำสั่ง และ
ผลลัพธ์ที่ได้จะเป็นไปตามข้อความด้านล่างนี้
mgmt# ndb_mgm
– NDB Cluster — Management Client –
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
———————
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.33 (Version: x.x.x, starting, Nodegroup: 0, Master)
id=3 @192.168.0.34 (Version: x.x.x, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.32 (Version: x.x.x)
[mysqld(API)] 4 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)
ขั้นสุดท้ายจะเป็นการเพิ่ม API node เข้าไปเพื่อให้เป้นเครื่องหน้าด่านในการ access database
แก้ไขไฟล์ /etc/my.cnf ตามด้านล่าง
[mysqld]
ndbcluster
ndb-connectstring=’host=192.168.0.32′ # IP address of the management server
[mysql_cluster]
ndb-connectstring=’host=192.168.0.32′ # IP address of the management server
จากนั้นทำการ start service MySQL ด้วยคำสั่ง
mysql-api-1# service mysqld start
ทำการตรวจสอบการเพื่อดูการเชื่อมต่อของเครื่องทั้งหมด
mgmt# ndb_mgm
ndb_mgm> show
Cluster Configuration
———————
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.33 (Version: x.x.x, Nodegroup: 0)
id=3 @192.168.0.34 (Version: x.x.x, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.32 (Version: x.x.x)
[mysqld(API)] 4 node(s)
id=4 (Version: x.x.x)
id=5 (Version: x.x.x)
id=6 @192.168.0.35 (Version: x.x.x)
id=7 (not connected, accepting connect from any host)
อ้างอิง: Lod.com และ MySQL
Related posts:
1. Linux Cluster Concept [Fail-Over and Load-Balancing Cluster] Linux Cluster style 1. High Availability or Fail-Over Cluster 2. Load balancing Cluster 1. Linux Cluster: High Availibility...
2. MS Cluster MS Window 2000 Advance Edition ทำได้แค่ 2 node MS Window 2003 Standard Edition ทำได้ 4 node ถ้าจำไม่ผิด MS...
3. How to Configure Service Dependency in Red Hat Cluster Suite Red Hat Cluster แบบ Fail-Over ได้มี features หนึ่งที่น่าสนใจมาก คือ การกำหนดทิศทางของ service รอง เมื่อ service หลักเกิดเริ่มหรือหยุดการทำงาน โดยพระเอกของงานนี้ คือ “depend_mode”...
4. คอมพิวเตอร์คลัสเตอร์, Computer Cluster คืออะไร คอมพิวเตอร์คลัสเตอร์ คือ กลุ่มของคอมพิวเตอร์ที่เชื่อมต่อกันและทำงานด้วยกันเสมือนว่าเป็นเครื่อง คอมพิวเตอร์เพียง 1 เครื่อง การเชื่อมต่อแต่ละเครื่องจะผ่านเครือข่าย fast local area network โดยทั่วไปแล้วคลัสเตอร์จะถูกนำมาใช้ในการเพิ่มประสิทธิภาพหรือความมีตัวตน อยู่ของเครื่องคอมพิวเตอร์เครื่องหนึ่ง ระบบคลัสเตอร์สามารถแบ่งเป็น 4 ประเภทด้วยกัน คือ High-availability (HA) clusters...
5. Implement and configuration Highly Available LVM (HA LVM) ใน Red Hat Enterprise Linux ตั้งแต่ version 4.5 ขึ้นไปได้มี feature ใหม่ที่สามารถทำการ implement LVM ให้สามารถใช้งานแบบ HA LVM ได้โดยไม่ต้องใช้ CLVM...
-
;D ;D
-
พอมีเครื่องมาทดสอบแล้วครับ อ.อ๊อด
แต่สงสัยอย่างนึงครับ ตัว API กับ Manage เนี่ย เป็นเครื่องเดียวกันได้มั๊ย
แล้วเครื่อง Manage นั้นจำเป็นต้องเป็น Server รึเปล่าครับ
หรือใช้เครื่องส่วนตัวเราก็ได้ครับ
ลืมไปนิดครับ ตัว API กับ manage ลงเป็นเครื่องเดียวกันได้รึเปล่าครับ
-
ผมใช้ หลักการ ตัวตายตัวแทน เอาครับ โดยการเขียน script ฝังเอาไว้ ใน server ทุกตัวคอยจับตาดูว่า ตัวไหน ตายก็ให้ ดีดตัวที่ตายทิ้ง แล้วผันตัวเองเป็น serve Master แทนทันที แต่ต้อง run replication ไว้ตลอดด้วยนะครับ
-
ผมใช้ หลักการ ตัวตายตัวแทน เอาครับ โดยการเขียน script ฝังเอาไว้ ใน server ทุกตัวคอยจับตาดูว่า ตัวไหน ตายก็ให้ ดีดตัวที่ตายทิ้ง แล้วผันตัวเองเป็น serve Master แทนทันที แต่ต้อง run replication ไว้ตลอดด้วยนะครับ
เพิ่มเติมนิดนึงครับ คือการทำ cluster ยังช่วย
เรื่อง Workload ของ Sever ได้ด้วยนะครับ ถ้าจำไม่ผิด
-
ผมใช้ หลักการ ตัวตายตัวแทน เอาครับ โดยการเขียน script ฝังเอาไว้ ใน server ทุกตัวคอยจับตาดูว่า ตัวไหน ตายก็ให้ ดีดตัวที่ตายทิ้ง แล้วผันตัวเองเป็น serve Master แทนทันที แต่ต้อง run replication ไว้ตลอดด้วยนะครับ
ทดสอบทำ server Master ตายหรือยังครับ
-
ทดสอบแล้วครับ
-
แต่อาจจะมีการขาดช่วงของข้อมูลบ้างนิดนึงราวๆเกือบ 1 วินาที หรือน้อยกว่านั้นในช่วงสับเปลี่ยน server Master หากเครื่อง เร็วมากๆก็แทบไม่รู้สึก เลย
-
แต่อาจจะมีการขาดช่วงของข้อมูลบ้างนิดนึงราวๆเกือบ 1 วินาที หรือน้อยกว่านั้นในช่วงสับเปลี่ยน server Master หากเครื่อง เร็วมากๆก็แทบไม่รู้สึก เลย
ขอความรู้หน่อย ว่ามีวิธีการทำยังไงครับ และเขียน script ยังไงครับ
-
ผมเขียนไว้ใช้ แค่บน FreeBSD เท่านั้น ครับบน os ตัวอื่นเขียนไม่เป็น ลอง Add MSN มาที่ pr_as@hotmail.com ได้ครั บ
-
ผมเขียนไว้ใช้ แค่บน FreeBSD เท่านั้น ครับบน os ตัวอื่นเขียนไม่เป็น ลอง Add MSN มาที่ pr_as@hotmail.com ได้ครั บ
เดียวเจอกัน
-
เอาเหล้าเก่ามาขายในขวดใหม่
;D ;D ;D ;D ;D ;D ;D ;D ;D
http://hosxp.net/index.php?option=com_smf&topic=9753
-
ลอง เอา เอกสาร ที่ผมเรียบเรียงไปอ่าน ดูกัน ครับ เผื่อ เป้น ประโยชน์ บ้างไม่มากก็น้อย ครับ
-
ลอง เอา เอกสาร ที่ผมเรียบเรียงไปอ่าน ดูกัน ครับ เผื่อ เป้น ประโยชน์ บ้างไม่มากก็น้อย ครับ
ขอบคุณมากครับ สุดยอดความคิดเลยแบบนี้
-
;D ;D ;D ขอบคุณมากครับ เข้าทางผมเลยสำหรับ freebsd
-
ลอง เอา เอกสาร ที่ผมเรียบเรียงไปอ่าน ดูกัน ครับ เผื่อ เป้น ประโยชน์ บ้างไม่มากก็น้อย ครับ
สุดยอดแรง พี่บ่าว ;D เชียร์