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


一、准備

1、准備服務器

計划建立有5個節點的MySQL CLuster體系,需要用到5台服務器,但是我們做實驗時沒有這么多機器,可以只用2台,我就是一台本機,一台虛擬機搭建了有5個節點的MySQL CLuster體系,將一個SQL節點一個數據節點一個SQL節點放在了一台服務器上(192.168.1.252),將另一個SQL節點和一個數據節點放在了另外一台服務器上(192.168.1.52)。

節點配置說明
節點 對應的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

2、准備軟件包

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

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

二、安裝

1、數據節點和SQL節點

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

groupadd mysql

useradd
-g mysql mysql

第二步 開始安裝,下載的版本是免編譯的,復制過來就可以用了。

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節點就算安裝好了。

2、管理節點

管理節點的安裝更簡單,只要在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節點兩個數據節點和一個管理節點都安裝完成了,但是還不能工作,得進行配置,把這幾個節點聯系在一起協同工作。

三、配置

1、數據節點和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  

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

2、管理節點

管理節點的配置復雜一點,在管理服務器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節點總數。

四、啟動

1、管理節點

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,這個不用管。可以正常工作的。

2、數據節點

安裝后第一次啟動數據節點時要加上--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

3、SQL節點

service mysqld start

4、客戶端管理

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配置完成。

五、關閉

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM