Chào các anh em,
Hiện tại tớ đã dựng thử mô hình MySQL cluster để nghiên cứu nhưng gặp vài lỗi không biết xử lý sao. Mong anh em giúp đỡ.
Mô hình
Code:
Mô hình của tớ gồm 4 máy ảo VirtualBox
Node 1: management node, địa chỉ 192.168.56.205
Node 2: sql node, địa chỉ 192.168.56.206
Node 3: data node 1, địa chỉ 192.168.56.207
Node 4: data node 2, địa chỉ 192.168.56.208
Thông tin chung cho cả 4 máy
Code:
- Sử dụng Centos 6.4, 32 bits
- Linux kernel 2.6.32-358.el6.i686
- Phiên bản MySQL Cluster MySQL-Cluster-gpl-7.3.6-2.el6.i686.rpm-bundle.tar
- RAM 128MB
- Đã tắt firewall iptables trên tất cả 4 máy: service iptables stop
- Đã disable selinux
Thông tin cài đặt
Code:
- Trên cả 4 node, tớ đều cài gói MySQL-Cluster-server-gpl-7.3.6-2.el6.i686.rpm và MySQL-Cluster-shared-compat-gpl-7.3.6-2.el6.i686.rpm
- Riêng trên node 2 - sql node, tớ còn bổ sung thêm gói cài MySQL-Cluster-client-gpl-7.3.6-2.el6.i686.rpm
Thông tin cấu hình
Code:
Trên node 1 - management node
- Tớ tạo thư mục /var/lib/mysql-cluster, gán quyền sở hữu mysql:mysql
- Thiết lập file cấu hình /var/lib/mysql-cluster/config.ini có nội dung:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[tcp default]
portnumber=2202
[ndb_mgmd]
hostname=192.168.56.205
datadir=/var/lib/mysql-cluster
[ndbd]
hostname=192.168.56.207
datadir=/usr/local/mysql/data
[ndbd]
hostname=192.168.56.208
datadir=/usr/local/mysql/data
[mysqld]
hostname=192.168.56.206
Trên node 2 - sql node
[mysqld]
datadir = /var/lib/mysql
port = 3306
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.56.205
Trên node 3 và node 4 - các data node
- Tạo thư mục /usr/local/mysql/data, gán quyền sở hữu mysql:mysql
- Cấu hình /etc/my.cnf như sau:
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.56.205
Thứ tự khởi động cluster
Code:
Tại management node, tớ chạy:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
Lần lượt trên các data node 1 và 2, tớ chạy
ndbd
Cuối cùng trên sql node, tớ chạy
mysqld_safe &
Kết quả
Code:
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.56.207)
id=3 @192.168.56.208 (mysql-5.6.19 ndb-7.3.6, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.56.205 (mysql-5.6.19 ndb-7.3.6)
[mysqld(API)] 1 node(s)
id=4 (not connected, accepting connect from any host)
Lỗi gặp phải
Node 2 được thông báo là: Node 2: Forced node shutdown completed. Occured during startphase 0. Initiated by signal 11.
Trong /usr/local/mysql/data của Node 2 có một file ndb_2_error.log
Cả ba node: node 2, node 3 và node 4 đều được cảnh báo:
2014-07-28 09:47:23 [MgmtSrvr] WARNING Failed to allocate nodeid for API at 192.168.56.208. Returned error: No free node id found for mysqld(API).
2014-07-28 09:47:23 [MgmtSrvr] WARNING Failed to allocate nodeid for API at 192.168.56.207. Returned error: No free node id found for mysqld(API).
2014-07-28 09:47:23 [MgmtSrvr] WARNING Failed to allocate nodeid for API at 192.168.56.206. Returned error: No free node id found for mysqld(API).