| 角色 | 主機名 | IP |
| Data Node 1 | MySQL1 | 192.168.0.1 |
| Data Node 2 | MySQL2 | 192.168.0.2 |
| Management | MySQL3 | 192.168.0.3 |
步驟 1:資料節點安裝 MySQL-Max(兩台同步)
wget https://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
mv *.tar.gz /usr/local/
cd /usr/local
groupadd mysql
useradd -g mysql mysql
tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
mv mysql-max-4.1.9-pc-linux-gnu-i686 mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
# 先不要啟動!
步驟 2:管理節點只裝管理工具
mkdir /usr/src/mysql-mgm
cd /usr/src/mysql-mgm
tar -zxvf mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
cd mysql-max-4.1.9-pc-linux-gnu-i686
mv bin/ndb_mgm bin/ndb_mgmd .
chmod +x ndb_mg*
mv ndb_mg* /usr/bin/
cd && rm -rf /usr/src/mysql-mgm
步驟 3:管理節點 config.ini
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
cat > config.ini <<'EOF'
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
[NDB_MGMD]
HostName=192.168.0.3
[NDBD]
HostName=192.168.0.1
DataDir=/var/lib/mysql-cluster
[NDBD]
HostName=192.168.0.2
DataDir=/var/lib/mysql-cluster
[MYSQLD]
[MYSQLD]
EOF
ndb_mgmd # 啟動管理服務
步驟 4:資料節點 my.cnf 與啟動
vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring=192.168.0.3
[mysql_cluster]
ndb-connectstring=192.168.0.3
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
/usr/local/mysql/bin/ndbd --initial # 首次必加
/etc/rc.d/init.d/mysqld start
步驟 5:驗證叢集
ndb_mgm
ndb_mgm> show
# 應看到 2 ndbd nodes, 1 mgmd, 2 mysqld (API) 皆 connected
步驟 6:功能測試
/usr/local/mysql/bin/mysql -u root -p
USE test;
CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
INSERT INTO ctest VALUES (1);
SELECT * FROM ctest;
在另一節點同樣查詢/插入,驗證資料同步。
步驟 7:破壞性測試
- 拔網線或
kill -9 $(pidof ndbd) 模擬節點故障
- 觀察另一節點繼續服務
- 管理終端
show 顯示故障節點狀態
- 恢復:重啟
ndbd(不加 --initial)
生產環境建議
- 管理節點使用獨立機器,並設定開機自啟
- 資料節點間使用專用網卡/交換機做心跳通訊
- 定期備份 config.ini 並納入版控
- 監控
ndb_mgm -e show 狀態納入告警體系
- 上一篇文章: Zope vs Apache+PHP+MySQL:物件導向內容管理平台的差異化優勢
- 下一篇文章: MySQL 自動備份 Shell 腳本:每日增量、保留五天、支援多種備份模式
Copyright ©
程式碼之家 All Rights Reserved