mysql cluster安裝

節點規劃,因爲是在vm上,也只能起3個節點了:
管理節點(ndb_mgmd):192.168.0.124

SQL節點1(mysqld): 192.168.0.125
SQL節點1(mysqld): 192.168.0.126

數據節點(ndbd): 192.168.0.125
數據節點(ndbd): 192.168.0.126

主機與ip
mgm      192.168.0.124         
sqld     192.168.0.125         
ndbd     192.168.0.126         


使用的軟件:mysql-cluster-gpl-7.1.18-linux-x86_64-glibc23.tar.gz


配置信息
/etc/my.cnf
存儲節點
[mysqld]
ndbcluster
ndb-connectstring=192.168.0.124
--做了一測試,存儲節點只有以下兩句節點能正常啓動。
[mysql_cluster]
ndb-connectstring=192.168.0.124

sql節點與數據節點同在一臺主機配置
[mysqld]
basedir=/user/local/mysql
datadir=/user/local/mysql/data
port=3306
user=mysql
socket=/tmp/mysql.sock
ndbcluster
ndb-connectstring=192.168.0.124
[ndbd]
connect-string=192.168.0.126
[ndbd_mgm]
connect-string=192.168.0.124
[ndbd_mgmd]
config-file=/opt/mysql_cluster/conf/config.ini
[mysql_cluster]
ndb-connectstring=192.168.0.124

/etc/config.ini
配置管理節點:
[NDBD DEFAULT]
NoOfReplicas=1
DataMemory=600M
IndexMemory=100M
[TCP DEFAULT]
portnumber=2202
[NDB_MGMD]
nodeid=1
hostname=192.168.0.124
datadir=/usr/local/mysql/data
[NDBD]
nodeid=2
hostname=192.168.0.126
datadir=/usr/local/mysql/data
[MYSQLD]
nodeid=3
hostname=192.168.0.126


節點啓動
管理節點啓動:
[root@MGM mysql_cluster]# ./mysql/bin/ndb_mgmd -f /opt/mysql_cluster/conf/config.ini --configdir=/opt/mysql_cluster/conf

數據節點啓動:
數據節點有些特殊,如果是第一次啓動,則需要增加參數 –initial,如果不是,直接啓動即可
./mysql/bin/ndbd --defaults-file=/opt/mysql_cluster/conf/my.cnf --initial  

啓動sql節點 service mysqld start,前提是要配置mysqld服務

添加新節點後,重新加載管理節點配置信息
[root@MGM mysql]# ./ndb_mgmd -f /etc/config.ini --initial

[root@MGM mysql]# ./ndb_mgmd -f /etc/config.ini --reload



遇到的一些問題
啓動sql節點時出現錯誤
[root@NDBD mysql]# service mysqld start
Starting MySQL..Manager of pid-file quit without updating f[FAILED]
查看日誌文件內容
NDBD.err:
120208 21:00:32 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120208 21:00:33 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/mysql/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
120208 21:00:33 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
120208 21:00:33  InnoDB: Initializing buffer pool, size = 8.0M
120208 21:00:33  InnoDB: Completed initialization of buffer pool
120208 21:00:33  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
120208 21:00:33 mysqld_safe mysqld from pid file /usr/local/mysql/data/NDBD.pid ended
解決方法sql節點配置(my.cnf)中的user=nobody改爲user=mysql,還不行可以重新運行:
[root@NDBD mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

當管理節點將NoOfReplicas=1設置爲NoOfReplicas=2時,同時啓動數據節點會遇到像下面這樣的錯誤,導致數據節點與sql節點都不能正常啓動.暫且記錄下該問題。
Node 2: Forced node shutdown completed. Occured during startphase 1. Caused by error 2350: 'Invalid configuration received from Management Server(Configuration error). Permanent error, external action needed'



登錄並進行測試
[root@NDBD mysql]# ./bin/mysql -uroot
測試cluster是否正常
在一節點執行:
[root@NDBD mysql]# ./bin/mysql -uroot
建立表並插入數據
create table cluster_test(
id int,
name varchar(20)
)engine = ndbcluster default charset utf8;

insert into cluster_test values(1, 'hello');
insert into cluster_test values(2, 'world');
commit;

在別一節點看是否能夠訪問,能夠訪問說明是正常的。

1.啓動各個節點的順序永遠是:MGM node,Data Node,SQL node。
2.engine=ndbcluster或者engine=ndb的表才能使用Data node所存儲。其他engine即放在SQL node本地,就像單機版一樣。
3.多個節點放在一臺機器上時,需要給每個節點分配不同端口號以此區分。   --沒有使用


具體的安裝步驟可以參照mysql參考手冊


發佈了168 篇原創文章 · 獲贊 16 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章