mysql cluster 安裝配置方案

mysql cluster (mysql 集羣)安裝配置方案

 

1、準備node

一、準備服務器mysql

計劃創建有5個節點的MySQL CLuster體系,須要用到5臺服務器,可是咱們作實驗時沒有這麼多機器,能夠只用2臺,我就是一臺本機,一臺虛擬機搭建了有5個節點的MySQL CLuster體系,將一個SQL節點一個數據節點一個SQL節點放在了一臺服務器上(192.168.1.252),將另外一個SQL節點和一個數據節點放在了另一臺服務器上(192.168.1.52)。linux

節點配置說明
節點 對應的IP和端口
管理節點(1個) 192.168.1.252
SQL節點 (2個) 192.168.1.252:3331
192.168.1.52:3331
數據節點 (2個) 192.168.1.252
192.168.1.52

二、準備軟件包sql

如今的mysql提供了一個專門做集羣的安裝包,這樣就不用一個個的下載所須要的工具了。我在網上找到了最新的並且下載比較快的資源,第一步先是下載,有200M左右。shell

cd /var/tmp

wget http://mysql.ntu.edu.tw/Downloads/MySQL-Cluster-7.1/  

mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz

2、安裝數據庫

一、數據節點和SQL節點vim

第一步 添加mysql用戶和組,這是必需的。服務器

groupadd mysql

useradd -g mysql mysql

第二步 開始安裝,下載的版本是免編譯的,複製過來就能夠用了。socket

cd /var/tmp

tar -C /usr/local-zxvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz

cd /usr/local

mv mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz mysql

第三步 在mysql修改目錄權限,這也是必需的,否則第四步會報錯的。工具

cd mysql

chown -R root .

chown -R mysql data

chgrp -R mysql .

第四步 安裝初始的數據庫表

scripts/mysql_install_db --user=mysql

第五步 設置mysql服務爲開機自啓動

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

第六步 啓動mysql服務,若是報錯請參考

service mysqld start

這六步,在252和52服務器上都執行一次,數據節點和SQL節點就算安裝好了。

二、管理節點

管理節點的安裝更簡單,只要在252服務器上覆制些文件出來就好了,雖然只有一步,便這一步在目前環境下(管理節點和SQL節點在同一臺服務器上)也不是必需的。

cd mysql

cp bin/ndb_mgm*/usr/local/bin

cd /usr/local/bin

chmod +x ndb_mgm*

管理節點只要ndb_mgm和ndb_mgmd兩個文件和一個配置文件便可,所以把這三個文件複製到那裏,那裏就是管理節點了。ndb_mgmd是mysql cluster管理服務器,ndb_mgm是客戶端管理工具,等一下會用到它們的。到目前爲止兩個SQL節點兩個數據節點和一個管理節點都安裝完成了,可是還不能工做,得進行配置,把這幾個節點聯繫在一塊兒協同工做。

3、配置

一、數據節點和SQL節點

mysql服務啓動時會默認加載/etc/my.cnf做爲其配置文件,要將一個mysql服務器配置成一個數據節點和SQL節點也很是的簡單,這是配置前的my.cnf的內容:

[client]

port    =3306

socket  =/tmp/mysql.sock

[mysqld]

basedir         =/usr/local/mysql/

datadir         =/usr/local/mysql/data

user            = mysql

log-error       =/var/lib/mysql/mysqld.err

 

只要在內容結尾加上4行就將這個mysql服務器變成了一個數據節點和SQL節點。

ndbcluster   #運行NDB存儲引擎

#指定管理節點  以上兩行聲明其爲SQL節點

ndb-connectstring=192.168.1.252  

[mysql_cluster]

#指定管理節點  以上兩行聲明其爲數據節點

ndb-connectstring=192.168.1.252  

注意兩臺服務器都得這樣配置。

二、管理節點

管理節點的配置複雜一點,在管理服務器252的/var/lib/mysql-cluster/目錄中建立config.ini文件。

cd /var/lib

mkdir mysql-cluster

cd mysql-cluster

vim config.ini

在config.ini文件中添加如下內容:

[NDBD DEFAULT]

NoOfReplicas=1    #每一個數據節點的鏡像數量

DataMemory=500M   #每一個數據節點中給數據分配的內存

IndexMemory=300M  #每一個數據節點中給索引分配的內存

[TCP DEFAULT]

portnumber=2202   #數據節點的默認鏈接端口

[NDB_MGMD]        #配置管理節點

hostname=192.168.1.252

datadir=/var/lib/mysql-cluster/  #管理節點數據(日誌)目錄

[NDBD]            #數據節點配置

hostname=192.168.1.252

datadir=/usr/local/mysql/data/   #數據節點目錄

[NDBD]

hostname=192.168.1.52

datadir=/usr/local/mysql/data/

[MYSQLD]   #SQL節點目錄

hostname=192.168.1.252

[MYSQLD]

hostname=192.168.1.52

[NDBD DEFAULT]:表示每一個數據節點的默認配置在每一個節點的[NDBD]中不用再寫這些選項,只能有一個。
[NDB_MGMD]:表示管理節點的配置,只有一個。
[NDBD]:表示每一個數據節點的配置,能夠有多個。
[MYSQLD]:表示SQL節點的配置,能夠有多個,分別寫上不一樣SQL節點的IP地址,也能夠什麼都不寫,只保留一個空節點,表示任意一個IP地址均可以進行訪問,此節點的個數代表了能夠用來鏈接數據節點的SQL節點總數。

4、啓動

一、管理節點

mysql cluster 須要各個節點都 進行啓動後才能夠工做,節點的啓動順序爲管理節點->數據節點->SQL節點。首先啓動管理節點

cd /usr/local/bin

./ndb_mgmd -f /var/lib/mysql-cluster/config.ini

命令行中的ndb_mgmd是mysql cluster的管理服務器,後面的-f表示後面的參數是啓動的參數配置文件。若是在啓動後過了幾天又添加了一個數據節點,這時修改了配置文件啓動時就必須加上--initial參數,否則添加的節點不會做用在mysql cluster中。

./ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

啓動時可能會報個WARNING,如WARNING  -- at line 7: [TCP] portnumber is deprecated,這個不用管。能夠正常工做的。

二、數據節點

安裝後第一次啓動數據節點時要加上--initial參數,其它時候不要加,除非是在備份、恢復或配置變化後重啓時。

cd mysql/bin/ndbd --initial 

若是顯示如下信息說明啓動完成:

2010-12-31 12:48:03 [ndbd] INFO     -- Angel connected to '192.168.1.252:1186'
2010-12-31 12:48:03 [ndbd] INFO     -- Angel allocated nodeid: 3

三、SQL節點

service mysqld start

四、客戶端管理

cd /usr/local/bin

./ndb_mgm

這時就進入到客戶端,能夠對mysql cluster進行各項操做,進入後會有ndb_mgm > 提示符出現,首先來查看各節點的鏈接狀況,在ndb_mgm> 提示符下輸入show:

ndb_mgm> show

ClusterConfiguration

---------------------

[ndbd(NDB)]     2 node(s)

id=2    @192.168.1.252  (mysql-5.1.51 ndb-7.1.9,Nodegroup:0,Master)

id=3    @192.168.1.52  (mysql-5.1.51 ndb-7.1.9,Nodegroup:1)

[ndb_mgmd(MGM)]1 node(s)

id=1    @192.168.1.252  (mysql-5.1.51 ndb-7.1.9)

[mysqld(API)]   2 node(s)

id=4    @192.168.1.252  (mysql-5.1.51 ndb-7.1.9)

id=5    @192.168.1.52  (mysql-5.1.51 ndb-7.1.9)

能夠看到各個節點已經鏈接上了,至此,mysql cluster配置完成。

5、關閉

mysql cluster的關閉也很簡單,只需在ndb_mgm> 提示符下輸入 shutdown便可,這時會顯示各節點的關閉信息,再輸入exit便可退出ndb_mgm管理,回到shell中。雖然mysql cluster 關閉了,可是SQL節點的mysql服務並不會中止的。接下來就能夠作各類試驗了

相關文章
相關標籤/搜索