王家林老師提供的課程mysql5,cluster_第1頁(yè)
王家林老師提供的課程mysql5,cluster_第2頁(yè)
王家林老師提供的課程mysql5,cluster_第3頁(yè)
王家林老師提供的課程mysql5,cluster_第4頁(yè)
王家林老師提供的課程mysql5,cluster_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Cluster 是一個(gè)基于 NDB Cluster引擎的完整的分布式數(shù)據(jù)庫(kù)系統(tǒng)。不僅僅具有高可用性,而且可以自動(dòng)切分?jǐn)?shù)據(jù),冗余數(shù)據(jù)等高級(jí)功能。和 Oracle Real ClusterApplication 不太一樣的是,Cluster 是一個(gè) Share Nothing 的架構(gòu),各個(gè)Server 之間并不共享任何數(shù)據(jù),高度可擴(kuò)展以及高度可用方面的突出表現(xiàn)是其最大的特色。雖然目前還只是中的一個(gè)新興產(chǎn)品,但是已經(jīng)有不少企業(yè)正在積極的嘗試使用Cluster 的了解來(lái)尋找其在可擴(kuò)展設(shè)計(jì)方面的優(yōu)勢(shì)。了。通過(guò)對(duì)1,Cluster介紹簡(jiǎn)單的說(shuō),Cluster 實(shí)際上是在無(wú)共享設(shè)備的情況下實(shí)現(xiàn)的一種完全分布

2、式數(shù)據(jù)庫(kù)系統(tǒng),其主要通過(guò) NDB Cluster(簡(jiǎn)稱 NDB)引擎來(lái)實(shí)現(xiàn)。Cluster 剛剛誕生的時(shí)候可以說(shuō)是一個(gè)可以對(duì)數(shù)據(jù)進(jìn)行持久化的內(nèi)存數(shù)據(jù)庫(kù),所有數(shù)據(jù)和索引都必須裝載在內(nèi)存中才能夠正常運(yùn)行,但是的Cluster 版本已經(jīng)可以做到僅僅將所有索引裝載在內(nèi)存中即可,實(shí)際的數(shù)據(jù)可以不用全部裝載到內(nèi)存中。Cluster 的環(huán)境主要由以下三部分組成:一個(gè)a) SQL 層的 SQL 服務(wù)器節(jié)點(diǎn)(后面簡(jiǎn)稱為 SQL 節(jié)點(diǎn)),也就是常說(shuō)的Server。主要負(fù)責(zé)實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)在層之上的所有事情,比如連接管理,Query 優(yōu)化和響應(yīng) ,Cache 管理等等,只有層的工作交給了 NDB 數(shù)據(jù)節(jié)點(diǎn)去處理了。也

3、就是說(shuō),在純粹的Cluster 環(huán)境中的 SQL 節(jié)點(diǎn),可以被認(rèn)為是一個(gè)不需要提供任何引擎的引擎有 Cluster 環(huán)境中的 NDB 節(jié)點(diǎn)來(lái)?yè)?dān)任。所以,SQL 層各服務(wù)器,因?yàn)樗姆?wù)器的啟動(dòng)與普通的選項(xiàng)才行??梢蕴砑釉赟erver 啟動(dòng)也有一定的區(qū)別,必須要添加 ndbcluster 參數(shù)f 配置文件中,也可以通過(guò)啟動(dòng)命令行來(lái)指定。b) Storage 層的 NDB 數(shù)據(jù)節(jié)點(diǎn),也就是上面說(shuō)的 NDB Cluster。最初的 NDB 是一個(gè)內(nèi)存式引擎,當(dāng)然也會(huì)將數(shù)據(jù)持久化到設(shè)備上。但是的 NDB Cluster引擎已經(jīng)改進(jìn)了這一點(diǎn),可以選擇數(shù)據(jù)是全部加載到內(nèi)存中還是僅僅加載索引數(shù)據(jù)。NDB 節(jié)

4、點(diǎn)主要是實(shí)現(xiàn)底層數(shù)據(jù)功能,來(lái)保存 Cluster 的數(shù)據(jù)。每一個(gè)Cluster 節(jié)點(diǎn)保存完整數(shù)據(jù)的一個(gè) fragment,也就是一個(gè)數(shù)據(jù)分片(或者一份完整的數(shù)據(jù),Cluster 在層不會(huì)出現(xiàn)單點(diǎn)的問(wèn)視節(jié)點(diǎn)數(shù)目和配置而定),所以只要配置得當(dāng),題。一般來(lái)說(shuō),NDB 節(jié)點(diǎn)被組織成一個(gè)一個(gè)的 NDB Group,一個(gè) NDB Group 實(shí)際上就是一組存有完全相同的物理數(shù)據(jù)的 NDB 節(jié)點(diǎn)群。上面提到了 NDB 各個(gè)節(jié)點(diǎn)對(duì)數(shù)據(jù)的組織,可能每個(gè)節(jié)點(diǎn)都存有全部的數(shù)據(jù)也可能只保存Cluster 主配置文件(在管一部分?jǐn)?shù)據(jù),主要是受節(jié)點(diǎn)數(shù)目和參數(shù)來(lái)控制的。首先在理節(jié)點(diǎn)上面,一般為 config.ini)中,有

5、一個(gè)非常重要的參數(shù)叫 NoOfReplicas,這個(gè)參數(shù)指定了每一份數(shù)據(jù)被冗余在不同節(jié)點(diǎn)上面的份數(shù),該參數(shù)一般至少應(yīng)該被設(shè)置成 2,也只需要設(shè)置成 2 就可以了。因?yàn)檎?lái)說(shuō),兩個(gè)互為冗余的節(jié)點(diǎn)同時(shí)出現(xiàn)故障的概率還是非常小的,當(dāng)然如果機(jī)器和內(nèi)存足夠多的話,也可以繼續(xù)增大來(lái)更進(jìn)一步減小出現(xiàn)故障的概率。此外,一個(gè)節(jié)點(diǎn)上面是保存所有的數(shù)據(jù)還是一部分?jǐn)?shù)據(jù)還受到節(jié)點(diǎn)數(shù)目的限制。NDB 存儲(chǔ)引擎首先保證 NoOfReplicas 參數(shù)配置的要求來(lái)使用節(jié)點(diǎn),對(duì)數(shù)據(jù)進(jìn)行冗余,然后再根據(jù)節(jié)點(diǎn)數(shù)目將數(shù)據(jù)分段來(lái)繼續(xù)使用多余的 NDB 節(jié)點(diǎn)。分段的數(shù)目為節(jié)點(diǎn)總數(shù)除以NoOfReplicas 所得。c) 負(fù)責(zé)管理各個(gè)節(jié)

6、點(diǎn)的 Manage 節(jié)點(diǎn)主機(jī):管理節(jié)點(diǎn)負(fù)責(zé)整個(gè) Cluster 集群中各個(gè)節(jié)點(diǎn)的管理工作,包括集群的配置,啟動(dòng)關(guān)閉各節(jié) 點(diǎn) ,對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行常規(guī),以及實(shí)施數(shù)據(jù)的備份恢復(fù)等。管理節(jié)點(diǎn)會(huì)獲取整個(gè) Cluster環(huán)境中各節(jié)點(diǎn)的狀態(tài)和錯(cuò)誤信息,并且將各 Cluster 集群中各個(gè)節(jié)點(diǎn)的信息反饋給整個(gè)集群中其他的所有節(jié)點(diǎn)。由于管理節(jié)點(diǎn)上保存了整個(gè) Cluster 環(huán)境的配置,同時(shí)擔(dān)任了集群中各節(jié)點(diǎn)的基本溝通工作,所以他必須是最先被啟動(dòng)的節(jié)點(diǎn)。下面是一幅Cluster的基本架構(gòu)圖(出自文檔手冊(cè)):Cluster通過(guò)圖中間的關(guān)系??梢愿逦牧私庹麄€(gè)環(huán)境各個(gè)節(jié)點(diǎn)以及客戶端應(yīng)用之由于Cluster 目前的成熟

7、使用并不是太多,實(shí)現(xiàn)也較普通的略復(fù)雜,所Cluster 環(huán)境開(kāi)始來(lái)介紹他。以本章將首先從如何搭建一個(gè)2Cluster 環(huán)境搭建Cluster 首先需要至少一個(gè)管理節(jié)點(diǎn)主機(jī)來(lái)實(shí)現(xiàn)管理功能,一個(gè) SQL 節(jié)點(diǎn)主server 功能和兩個(gè) ndb 節(jié)點(diǎn)主機(jī)實(shí)現(xiàn) NDB Cluster 的功能。在后面的介紹SQL 節(jié)點(diǎn)來(lái)搭建測(cè)試環(huán)境,具體信息如下:搭建機(jī)來(lái)實(shí)現(xiàn)中,我采1、硬件準(zhǔn)備a)節(jié)點(diǎn) 1192.168.0.1b)c)d)e)節(jié)點(diǎn)ndb 節(jié)點(diǎn) 1ndb 節(jié)點(diǎn) 2管理節(jié)點(diǎn)2192.168.0.2192.168.0.3192.168.0.4192.168.0.52、安裝首先在上面 5 個(gè)節(jié)點(diǎn)的主機(jī)上盡量確

8、保環(huán)境基本一致,然后從相應(yīng)的包并分發(fā)到兩臺(tái) SQL 節(jié)點(diǎn)和兩臺(tái) NDB 節(jié)點(diǎn)上,以備后面的安裝時(shí)候的使用。測(cè)試環(huán)境 OS(RedHinux)如下(非必須):root1:/usr/locaame -aLinux oratest1 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686i686 i386 GNU/Linuxa) 安裝在碼安裝也可以選擇節(jié)點(diǎn):節(jié)點(diǎn)上面需要安裝支持 cluster 的Server,可以通過(guò)自編譯源代提供的編譯好的 tar 包或者 rpm 安裝包,我是通過(guò)源代碼自行編譯的,實(shí)際上完全可以通過(guò)提供的經(jīng)過(guò)優(yōu)化編譯的二進(jìn)制

9、tar包,只是了而已,root編譯設(shè)置參數(shù)如下:1./configure -prefix=/usr/local/-without-debug -without-bench -enable-thread-safe-c-enable-assembler -with-charset=utf8 -with-nt plex -with-c-with-nt-ldflags=-all-s ic d-ldflags=-all-s ic -with-ndbcluster -with-server-suffix=-max -datadir=/data/data -wit.ix-socket-path=/usr/l

10、ocal/sock/.sockroot.1makeroot.1make installf,由于是測(cè)試環(huán)境,所以我僅僅設(shè)置了然后是配置設(shè)置配置文件ndbcluster 所需要的最基本的兩個(gè)配置項(xiàng),其他所有的配置均用默認(rèn)配置(后面會(huì)有較為詳細(xì)的配置說(shuō)明),如下:rootc nt1vifsocket = /usr/local/sock/.sock#由于編譯時(shí)候特殊指定了,所以設(shè)置在這里,方便以后登入的時(shí)候使用dsocket = /usr/local/ndbcluster/sock/.sock_clusterndb-connectstring = 192.168.0.5繼續(xù)完成后面的安裝過(guò)程:root

11、 rootsocket=/usr/local/Installing OK1cd /usr/local/1b/sock/ysql install db -user=.sock-system tables.Filling help tables.OKTo startsupport-files/d at boot time you have to copy.server to the right place for your systemPLEASE REMEMBER TO SETTo do so, start the server, then iSWORD FOR THEroot USER !e

12、the followingds:ssword/usr/local/usr/local/ password/b/bySQLadmin -u root password neySQLadmin -u root -h oest_stb password new-Alternatively you can run:/usr/local/bySQL_secure_installationwhich will also give you the option of removing the testdatabases and anonymous user created by default. This

13、isstronglymended for production servers.See the manual for more instructions.You can start thecd /usr/local/daemon with:; /usr/local/bySQLd_safe &You can test thedaemon with-test-run.pl-test-run.plcd-test ; perlPlease report any problems with the /usr/local/bySQLbug script!The latest information abo

14、uthtis available on the web atSupportby buying support/licenses at httroot root root root root root total 40 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-xroot1n -R root .1chgrp -R.# ls -l111n -Rn -Rn -R/usr/local/usr/local/usr/local/etc

15、/sock/log1:/usr/local/root2rootrootroot2 root24 root9 root21:/usr/local/4096 May 4 14:474096 May 4 14:204096 May 4 14:464096 May 4 14:464096 May 4 14:464096 May 4 14:474096 May 4 14:204096 May 4 14:474096 May 4 14:474096 May 5 22:16bin etcinclude infolib libexec logman-testsock#b) 安裝 ndb 節(jié)點(diǎn):如果希望盡可能的

16、各環(huán)境保持一致,建議在 NDB 節(jié)點(diǎn)也和SQL 節(jié)點(diǎn)一樣安裝整個(gè)帶有 NDB Cluster所以這里就不再累述。引擎的Server。由于安裝細(xì)節(jié)和上面的 SQL 節(jié)點(diǎn)完全一樣,另外,如果只是為了保證能夠完整的Cluster 這個(gè)環(huán)境,則在 NDB 節(jié)點(diǎn)上完全可以僅安裝 NDB引擎(ndb storage engine)即可。安裝 NDB引擎好像目前是找不到源碼來(lái)自行編譯安裝的,只能通過(guò)AB提供的 rpm 包來(lái)安裝。安裝過(guò)程非常簡(jiǎn)單,和其他的 rpm包安裝沒(méi)有任何區(qū)別。c) 管理節(jié)點(diǎn):管理節(jié)點(diǎn)所需要的安裝更簡(jiǎn)單,實(shí)際上只需要 ndb_mgm 和 ndb_mgmd 兩個(gè)程序即可,這兩個(gè)可執(zhí)行程序可

17、以在上面的節(jié)點(diǎn)的安裝目錄中的 bin 目錄下面找到。將這兩個(gè)程序 copy 到管理節(jié)點(diǎn)上面合適的位置(自行考慮,我一般會(huì)放在/usr/local/bin 下面),并在 path 制定的目錄中建立兩個(gè)同名的 soft link 在到這兩個(gè)程序上面,就可以了。以上即是Cluster 環(huán)境的安裝過(guò)程,看上去并不復(fù)雜是吧,希望大家的安裝過(guò)程也能夠一切順利,當(dāng)然如果遇到了什錯(cuò)誤也不用擔(dān)心,非常詳細(xì)的安裝過(guò)程說(shuō)明。手冊(cè)中也提供了3、基本配置在上面所有節(jié)點(diǎn)的安裝完成之后,就是Cluster 環(huán)境的配置工作了。如Cluster 的基本配置是比較簡(jiǎn)單的。這果不考慮其他一些優(yōu)化和個(gè)性化的配置需求,里暫時(shí)先僅僅完成

18、一個(gè)簡(jiǎn)單的測(cè)試環(huán)境的配置,詳細(xì)的配置說(shuō)明請(qǐng)看后面的配置介紹的章節(jié)。Cluster對(duì)于節(jié)點(diǎn)和 ndb 節(jié)點(diǎn)在上面的安裝過(guò)程中已經(jīng)完成了,僅需要設(shè)置_cluster參數(shù)組的 ndb-connectstring 參數(shù)即可完成最基本的配置。管理節(jié)點(diǎn)的配置稍微復(fù)雜一點(diǎn),因?yàn)樗枰渲贸?Cluster 環(huán)境中每一個(gè)節(jié)點(diǎn)的基本信息。配置文件并不需要一個(gè)特別固定的位置和名稱,都由用戶自行設(shè)定,只需要在啟動(dòng)過(guò)程中指定配置文件即可。在cluster/config.ini,內(nèi)容如下:的測(cè)試環(huán)境中配置為建名稱為/var/lib/-rootMgm # cat /var/lib/-cluster/config.iniN

19、DBD DEFAULTNoOfReplicas=2DataMemory=64M IndexMemory=16MTCP DEFAULTportnumber=2202#管理節(jié)點(diǎn) NDB_MGMDid=1hostname=192.168.0.5datadir=/var/lib/-cluster#第一個(gè) ndbd 節(jié)點(diǎn): NDBDid=2hostname=192.168.0.3 datadir=/data/data#第二個(gè) ndbd 節(jié)點(diǎn): NDBDid=3 hostname=192.168.0.4datadir=/drbddata/data# SQL node options:id=4Dhostna

20、me=192.168.0.1id=5Dhostname=10.0.65.203rootMgm #1) SQL 節(jié)點(diǎn)的配置:節(jié)點(diǎn)的配置和普通的Server 的配置區(qū)別主要是需要在f 文件中增加_cluster這個(gè)配置選項(xiàng)組,并至少指定 ndb-connectstring=192.168.0.5,也就是制定管理節(jié)點(diǎn)的 ip 地址或者 hostname。另外,如果希望能在啟動(dòng)d 的時(shí)候不用手動(dòng)指定 ndbcluster 參數(shù),則在d參數(shù)選項(xiàng)組中增加 ndbcluster 項(xiàng)參數(shù)。除了這兩項(xiàng)之外,其他的所有參數(shù)都可以可以使用默認(rèn)值。2) NDBNDB節(jié)點(diǎn)的配置:節(jié)點(diǎn)的配置就更簡(jiǎn)單的了,僅僅需_clus

21、ter中的 ndb-connectstring = 192.168.0.5 參數(shù),其他所有的都可以不再配置了。4、環(huán)境測(cè)試在環(huán)境搭建完成后,首先肯定要對(duì)新搭建的環(huán)境進(jìn)行一些基本的功能和異常測(cè)試,以確認(rèn)搭建的環(huán)境是否已經(jīng)可以正常提供服務(wù)。1) 首先檢測(cè) ndb 引擎是否已經(jīng)正常工作通過(guò)任意客戶端連接任意選定的一個(gè) SQL 節(jié)點(diǎn),測(cè)試各種基本的 ddl,dml 操 作 ,然后再通過(guò)客戶端連接上 Cluster 環(huán)境中另外的 SQL 節(jié)點(diǎn)校驗(yàn)所作的草食是否在其他節(jié)點(diǎn)同樣可見(jiàn)了。下面是測(cè)試 create table 后再在節(jié)點(diǎn) 4 上面:use test;一條數(shù)據(jù)的示例:create table t1

22、 ( a) engine=ndb;Query ok, 0 rows affected (0.00 sec)inserto t1 values(100);Query ok, 1 rows affected (0.00 sec)然后在節(jié)點(diǎn) 5 上面:use test;select * from t1;+| id |+-+| 100 |+-+1 row in set (0.00 sec)可見(jiàn),在節(jié)點(diǎn) 4 上面所的數(shù)據(jù),已經(jīng)在節(jié)點(diǎn) 5 上面了,說(shuō)明 ndb 引擎工作正常的。其他的測(cè)試與此類似,大家可以自試。如果在測(cè)試中發(fā)現(xiàn)在某兩個(gè)節(jié)點(diǎn)之間出現(xiàn)不一致現(xiàn)象,那么可以肯定的是,Cluster環(huán)境的配置有問(wèn)題

23、。在管理節(jié)點(diǎn)上面通過(guò)“ndb_mgm -e SHOW”命令查看各節(jié)點(diǎn)狀態(tài)是否正常,是否都已經(jīng)連接到了管理節(jié)點(diǎn)上面。并檢查不正常節(jié)點(diǎn)的f 配置文件,是否已經(jīng)_cluster這個(gè)參數(shù)組的配置好了以 ndbcluster 方式啟動(dòng)d,是否有正確配置最基本的 ndb-connectstring 參數(shù)。然后檢查管理節(jié)點(diǎn)上面的 config 文件,里面是否有正確配置好各所有節(jié)點(diǎn)的配置,尤其是不正常的 SQL 節(jié)點(diǎn)的配置。2) 檢測(cè)冗余環(huán)境的單點(diǎn)故障問(wèn)題a、模擬 NDB 節(jié)點(diǎn) Crash由于是模擬 Crash,所以通過(guò)在節(jié)點(diǎn) 2 上面 kill 掉 ndb 進(jìn)程,然后再分別通過(guò)兩個(gè)SQL 節(jié)點(diǎn)去t1 表,查

24、看是否可以正常,數(shù)據(jù)是否一樣。在節(jié)點(diǎn) 4 上面:use test;select * from t1;+| id |+-+| 100 |+-+1 row in set (0.00 sec)inserto t1 values(200);Query ok, 1 rows affected (0.00 sec)在節(jié)點(diǎn) 5 上面:use test;select * from t1;+| id |+-+| 100 | 200 |+-+2 row in set (0.00 sec)delete from t1 where id = 100; Query ok, 1 rows affected (0.00 s

25、ec)再回到節(jié)點(diǎn) 4 上面:select * from t1;+| id |+-+| 200 |+-+1 row in set (0.00 sec)可以看到,不僅 t1 仍然可以正常,數(shù)據(jù)也沒(méi)有任何丟失,且仍然可以正常插入,刪除數(shù)據(jù)??梢?jiàn),在有一個(gè) NDB 節(jié)點(diǎn) Crash 之后,真?zhèn)€Cluster 環(huán)境仍然可以正常提供服務(wù)。當(dāng)然,如果兩個(gè) NDB 節(jié)點(diǎn)都 Crash 之后,Cluster 環(huán)境就無(wú)法正常提供服務(wù)了,大家也可以自試一下。b、模擬 SQL 節(jié)點(diǎn) Crash同樣和測(cè)試 NDB 節(jié)點(diǎn) Crash 一樣,kill 掉一個(gè)進(jìn)程,然后通過(guò)節(jié)點(diǎn) 5 進(jìn)行:在節(jié)點(diǎn) 5 上面:use test;

26、select * from t1;+| id |+-+| 200 |+-+1 row in set (0.00 sec)SQL 節(jié)點(diǎn)(比如節(jié)點(diǎn) 4)的dinserto t1 values(300);Query ok, 1 rows affected (0.00 sec)select * from t1;+| id |+-+| 200 | 300 |+-+2 row in set (0.00 sec)可以看到,當(dāng)節(jié)點(diǎn) 4 Crash 之后,節(jié)點(diǎn) 5 仍然能夠提供正常的服務(wù)。當(dāng)然,如果在應(yīng)用環(huán)境中,應(yīng)用環(huán)境需要至少支持當(dāng)一個(gè) SQL 節(jié)點(diǎn)出現(xiàn)問(wèn)題的時(shí)候能夠自行切換到剩下的正常的 SQL 節(jié)點(diǎn)來(lái)。c

27、、管理節(jié)點(diǎn)的單點(diǎn)一般情況來(lái)說(shuō),管理節(jié)點(diǎn)是最容易控制的,實(shí)施也非常簡(jiǎn)單,只需要將配置文件和兩個(gè)可執(zhí)行程序(ndb_mgmd 和 ndb_mgm)存放在多臺(tái)機(jī)器上面即可,所以一般來(lái)說(shuō)不需要太多考慮單點(diǎn)故障。3Cluster 配置詳細(xì)介紹(config.ini)在Cluster 環(huán)境的配置文件 config.ini 里面,每一類節(jié)點(diǎn)都有兩個(gè)(或以上)的相應(yīng)配置項(xiàng)組,每一類節(jié)點(diǎn)的配置項(xiàng)都主要由兩部分組成,一部分是同類所有節(jié)點(diǎn)相同的配置項(xiàng)組,在NDB_MGM DEFAULT、NDBD DEFAULT和D DEFAULT這三個(gè)配置組里面,而且每一個(gè)配置組只出現(xiàn)一次;而另外一部分則是針對(duì)每一個(gè)節(jié)點(diǎn)獨(dú)有配置內(nèi)

28、容的配置項(xiàng)組NDB_MGM、NDBD和D,由于這三類配置組中配置的每一個(gè)節(jié)點(diǎn)獨(dú)有的個(gè)性化配置,所以每一個(gè)配置組都可能會(huì)出現(xiàn)多次(每一個(gè)節(jié)點(diǎn)一次)。下面是每一類節(jié)點(diǎn)的各種配置說(shuō)明:1、管理節(jié)點(diǎn)相關(guān)配置在整個(gè)Cluster 環(huán)境中,管理節(jié)點(diǎn)相關(guān)的配置為NDBD_MGM DEFAULT和NDB_MGMD相關(guān)的兩組:1) NDB_MGMD DEFAULT中各管理節(jié)點(diǎn)的共用配置項(xiàng): PortNumber:配置管理節(jié)點(diǎn)的服務(wù)端程序(ndb_mgmd)客戶端(ndb_mgm)連接請(qǐng)求和發(fā)送的指令,從文檔上可以查找到,默認(rèn)端口是 1186 端口。一般來(lái)說(shuō)這一項(xiàng)不需要更改,當(dāng)然如果是為了在同一臺(tái)主機(jī)上面啟動(dòng)多個(gè)

29、管理節(jié)點(diǎn)的話,肯定需要將兩個(gè)管理節(jié)點(diǎn)啟動(dòng)不同的端口;LogDestination:配置管理節(jié)點(diǎn)上面的 cluster 日志處理方式??梢詫?xiě)入文件如:LogDestination=FILE:filename=my- cluster.log,maxsize=500000,maxfiles=4;也可以通過(guò)標(biāo)準(zhǔn)輸出來(lái)打印出來(lái)如:LogDestination=CONSOLE;還可以計(jì)入 syslog 里面如:LogDestination=SYSLOG:facility=syslog;甚至多種方式共存: LogDestination=CONSOLE;SYSLOG:facility=syslog;FILE

30、filename=/var/log/cluster- logDatadir:設(shè)置用于管理節(jié)點(diǎn)存放文件輸出的位置。如 log 文件(當(dāng) LogDestination 有 FILE 處理方式存在時(shí)候)。pros 文 件( .),clusterArbitrationR三個(gè)值可以選擇。0 代表本節(jié)點(diǎn)完全聽(tīng)其他節(jié)點(diǎn)的,不參與決策1 代表本節(jié)點(diǎn)有最高優(yōu)先權(quán),“一切由我來(lái)決策”的時(shí)候的級(jí)別。有 0,1,2:配置各節(jié)點(diǎn)在處理某些事件出現(xiàn)c) 2 代表本節(jié)點(diǎn)參與決策,但是優(yōu)先權(quán)較 1 低,但是比 0 高ArbitrationR參數(shù)不僅僅管理節(jié)點(diǎn)有,節(jié)點(diǎn)也有。而且一般來(lái)說(shuō),所有的管理節(jié)點(diǎn)一般都應(yīng)該設(shè)置成 1,所有

31、 SQL 節(jié)點(diǎn)都設(shè)置成 2。2) NDB_MGMD是每個(gè)管理節(jié)點(diǎn)配置一組,所需配置項(xiàng)如下(下面的參數(shù)只能設(shè)置在NDB_MGMD參數(shù)組中):Id:為節(jié)點(diǎn)指定一個(gè)唯一的 ID 號(hào),要求在整個(gè) Cluster 環(huán)境中唯一;Hostname:配置該節(jié)點(diǎn)的 IP 地址或者主機(jī)名,如果是主機(jī)名,則該主機(jī)名必須要在配置文件所在的節(jié)點(diǎn)的/etc/hosts 文件中存在,而且綁定的 IP 是準(zhǔn)確的。上面NDB_MGMD DEFAULT里面的所有參數(shù)項(xiàng),都可以設(shè)置在下面的NDB_MGMD參數(shù)組里面,但是 Id 和 Hostname 兩個(gè)參數(shù)只能設(shè)置在NDB_MGMD里面,而不能設(shè)置在NDB_MGMDDEFAULT

32、里面,因?yàn)檫@兩個(gè)參數(shù)項(xiàng)針對(duì)每一個(gè)節(jié)點(diǎn)都是不相同的內(nèi)容。2、NDB 節(jié)點(diǎn)相關(guān)配置NDB 節(jié)點(diǎn)和管理節(jié)點(diǎn)一樣,既有各個(gè)節(jié)點(diǎn)共用的配置信息組NDBD DEFAULT,也有每一個(gè)節(jié)點(diǎn)個(gè)性化配置的NDBD配置組(實(shí)際上 SQL 節(jié)點(diǎn)也是如此)。1) NDBD DEFAULT中的配置項(xiàng):NoOfReplicas:定義在 Cluster 環(huán)境中相同數(shù)據(jù)的分?jǐn)?shù),通俗一點(diǎn)來(lái)說(shuō)就是每一份數(shù)據(jù)存放 NoOfReplicas 份。如果希望能夠冗余,那么至少設(shè)置為 2(一般情況來(lái)說(shuō)此參數(shù)值設(shè)置為 2 就夠了),最大只能設(shè)置為 4。另 外 ,NoOfReplicas 值得大小,實(shí)際上也就是 node group 大小的定

33、義。NoOfReplicas 參數(shù)沒(méi)有系統(tǒng)默認(rèn)值,所以必須設(shè)定,而且只能設(shè)置在NDBD DEFAULT中,因?yàn)榇藬?shù)值在整個(gè) Cluster 集群中一個(gè) node group 中所有的 NDBD 節(jié)點(diǎn)都需要一樣。另外 NoOfReplicas 的數(shù)目對(duì)整個(gè) Cluster 環(huán)境中 NDB 節(jié)點(diǎn)數(shù)量有較大的影響,因?yàn)?NDB 節(jié)點(diǎn)總數(shù)量是 NoOfReplicas * 2 * node_group_num;DataDir:指定本地的文件,trace 文件,日志文件以及錯(cuò)誤日志子等存放的路徑,無(wú)系統(tǒng)默認(rèn)地址,所以必須設(shè)定;DataMemory:設(shè)定用于存放數(shù)據(jù)和主鍵索引的內(nèi)存段的大小。這個(gè)大小限制了

34、能存放的數(shù)據(jù)的大小,因?yàn)?ndb引擎需屬于內(nèi)存數(shù)據(jù)庫(kù)引擎,需要將所有的數(shù)據(jù)(包括索引 )都 load 到內(nèi)存中。這個(gè)參數(shù)并不是一定需要設(shè)定的,但是默認(rèn)值非常?。?0M),只也就是說(shuō)如果使用默認(rèn)值,將只能存放很小的數(shù)據(jù)。參數(shù)設(shè)置需要帶上,如 512M,2G 等。另外,DataMemory 里面還會(huì)存放 UNDO 相關(guān)的信息,所以,事務(wù)的大小和事務(wù)并發(fā)量也決定了DataMemory 的使用量,建議盡量使用小事務(wù);IndexMemory:設(shè)定用于存放索引(非主鍵)數(shù)據(jù)的內(nèi)存段大小。和 DataMemory類似,這個(gè)參數(shù)值的大小同樣也會(huì)限制該節(jié)點(diǎn)能存放的數(shù)據(jù)的大小,因?yàn)樗饕拇笮∈请S著數(shù)據(jù)量增長(zhǎng)而增長(zhǎng)

35、的。參數(shù)設(shè)置也如 DataMemory 一樣需要18M;。IndexMemory 默認(rèn)大小為實(shí)際上,一個(gè) NDB 節(jié)點(diǎn)能存放的數(shù)據(jù)量是會(huì)受到 DataMemory 和 IndexMemory 兩個(gè)參數(shù)設(shè)置的約束,兩者任何一個(gè)達(dá)到限制數(shù)量后,都無(wú)法再增加能存入數(shù)據(jù)系統(tǒng)會(huì)報(bào)錯(cuò)“table is full”。的數(shù)據(jù)量。如果繼續(xù)FileSystemPath:指定 redo 日志,undo 日志,數(shù)據(jù)文件以及 meta 數(shù)據(jù)等的存放位置,默認(rèn)位置為 DataDir 的設(shè)置,并且在 ndbd 初始化的時(shí)候,參數(shù)所設(shè)定的文件夾必須存在。在第一次啟動(dòng)的時(shí)候,ndbd 進(jìn)程會(huì)在所設(shè)定的文件夾下建立一個(gè)子文件夾叫

36、ndb_id_fs,這里的 id 為節(jié)點(diǎn)的 ID 值,如節(jié)點(diǎn) id 為 3 則文件夾名稱為 ndb_3_fs。 當(dāng) 然 ,這個(gè)參數(shù)也不一定非得設(shè)置在NDBD DEFAULT參數(shù)組里面讓所有節(jié)點(diǎn)的設(shè)置都一樣(不過(guò)建議這樣設(shè)置),還可以設(shè)置在NDBD參數(shù)組下為每一個(gè)節(jié)點(diǎn)單獨(dú)設(shè)置自己的 FileSystemPath值;BackupDataDir:設(shè)置備份目錄路徑,默認(rèn)為 FileSystemPath/BACKUP。接下來(lái)的幾個(gè)參數(shù)也是非常重要的,主要都是與并行事務(wù)數(shù)和其他一些并行限制有關(guān)的參數(shù)設(shè)置。MaxNoOfConcurrentTranions:設(shè)置在一個(gè)節(jié)點(diǎn)上面的最大并行事務(wù)數(shù)目,默認(rèn)為 40

37、96,一般情況下來(lái)說(shuō)是足夠了的。這個(gè)參數(shù)值所有節(jié)點(diǎn)必須設(shè)置一樣,所以一般都是設(shè)置在NDBD DEFAULT參數(shù)組下面;MaxNoOfConcurrentOperations:設(shè)置同時(shí)能夠被更新(或者鎖定)的數(shù)量。一般來(lái)說(shuō)可以設(shè)置為在整個(gè)集群中相同時(shí)間內(nèi)可能被更新(或者鎖定)的錄數(shù),除以 NDB節(jié)點(diǎn)數(shù),所得到的值。比如,在集群中有兩個(gè) NDB 節(jié)點(diǎn),而希望能夠處理同時(shí)更新(或鎖定)100000 條,那么此參數(shù)應(yīng)該被設(shè)置為:100000 / 4 = 25000。此外,這里的數(shù)量并不是指單純的表里面的數(shù),而是指事物里面的操作。當(dāng)使用到唯一索引的時(shí)候,表的數(shù)據(jù)和索引兩者都要算在里面,也就是說(shuō),如果是通

38、過(guò)一個(gè)唯一索引來(lái)作為過(guò)濾條件更新某一條,那么這里算是兩條操作。而且即使是鎖定也會(huì)產(chǎn)生操作,比如通過(guò)唯一索引來(lái)查找一條,就會(huì)產(chǎn)生如下兩條操作:通過(guò)唯一索引中的某個(gè)數(shù)據(jù)會(huì)產(chǎn)生鎖定,產(chǎn)生一條操作,然后基表里面的數(shù)據(jù),這里也會(huì)產(chǎn)生讀鎖,也會(huì)產(chǎn)生一條操作。MaxNoOfConcurrentOperations 參數(shù)的默認(rèn)值為 32768。當(dāng)額度系統(tǒng)運(yùn)行過(guò)程中,如果出現(xiàn)此參數(shù)不夠的時(shí)候,就會(huì)報(bào)出“Out of operation records intranion coordinator”這樣的錯(cuò)誤信息;MaxNoOfLocalOperations:此參數(shù)默認(rèn)是 MaxNoOfConcurrentOper

39、ations * 1.1的大小,也就是說(shuō),每個(gè)節(jié)點(diǎn)一般可以處理超過(guò)平均值的 10%的操作數(shù)量。但是一般來(lái)說(shuō),建議單獨(dú)設(shè)置此參數(shù)而不要使用默認(rèn)值,并且將此參數(shù)設(shè)置得更較大一些;以下的三個(gè)參數(shù)主要是在一個(gè)事務(wù)中執(zhí)行一條 query 的時(shí)候臨時(shí)用到(或者內(nèi)存)的情況下所使用到的,所使用的信息會(huì)在事務(wù)結(jié)束(commit 或者 rollback)的時(shí)候資源;MaxNoOfConcurrentIndexOperations:這個(gè)參數(shù)和 MaxNoOfConcurrentOperations參數(shù)比較類似,只不過(guò)所針對(duì)的是 Index 的 record 而已。其默認(rèn)值為 8192,對(duì)伊一般的系統(tǒng)來(lái)說(shuō)都已經(jīng)足夠

40、了,只有在事務(wù)并發(fā)非常非常大的系統(tǒng)上才有需要增加這個(gè)參數(shù)的設(shè)置。當(dāng)然,此參數(shù)越大,系統(tǒng)運(yùn)行時(shí)候?yàn)榇硕牡膬?nèi)存也會(huì)越大;MaxNoOfFiredTriggers:觸發(fā)唯一索引(hash index)操作的最大的操作數(shù),這個(gè) 操作數(shù)是影響索引的操作條目數(shù),而不是操作的次數(shù)。系統(tǒng)默認(rèn)值為 4000,一般系統(tǒng)來(lái)說(shuō)夠用了。當(dāng)然,如果系統(tǒng)并發(fā)事務(wù)非常高,而且涉及到索引的操作也非常多,自然也就需要提高這個(gè)參數(shù)值的設(shè)置了;TranionBufferMemory:這個(gè) buffer 值得設(shè)置主要是指定用于索引操作而使用的。主要是用來(lái)索引操作中涉及到的索引 key 值和 column 的實(shí)際信息。這個(gè)參數(shù)的值一

41、般來(lái)說(shuō)也很少需要調(diào)整,因?yàn)閷?shí)際系統(tǒng)中需要的這部分 buffer 量非常小,雖然默認(rèn)值只是 1M,但是對(duì)于一般應(yīng)用也已經(jīng)足夠了;下面要介紹到的參數(shù)主要是在系統(tǒng)處理中做 table scan 或者 range scan 的時(shí)候使用的一些 buffer 的相關(guān)設(shè)置,設(shè)置的恰當(dāng)可以既節(jié)省內(nèi)存又達(dá)到足夠的性能要求。MaxNoOfConcurrentScans:這個(gè)參數(shù)主要控制在 Cluster 環(huán)境中并發(fā)的 table scan和 range scan 的總數(shù)量平均分配到每一個(gè)節(jié)點(diǎn)后的平均值。一般來(lái)說(shuō),每一個(gè) scan 都是通過(guò)并行的掃描所有的 partition 來(lái)完成的,每一個(gè) partition

42、的掃描都會(huì)在該 partition所在的節(jié)點(diǎn)上面使用一個(gè) scan record。所以,這個(gè)參數(shù)值得大小應(yīng)該是“scan record”數(shù)目 * 節(jié)點(diǎn)數(shù)目。參數(shù)默認(rèn)大小為 256,最大只能設(shè)置為 500;MaxNoOfLocalScans:和上面的這個(gè)參數(shù)相對(duì)應(yīng),只不過(guò)設(shè)置的是在本節(jié)點(diǎn)上面的并發(fā) table scan 和 range scan 數(shù)量。如果在系統(tǒng)中有大量的并發(fā)而且一般都不使用并行的話,需要注意此參數(shù)的設(shè)置。默認(rèn)為 MaxNoOfConcurrentScans * node 數(shù)目;BatchSizePerLocalScan:該參用于計(jì)算在 Localscan(并發(fā))過(guò)程中被鎖住的記

43、錄數(shù),文檔上說(shuō)明默認(rèn)為 64;LongMessageBuffer:這個(gè)參數(shù)定義的是消息傳遞時(shí)候的 buffer 大小,而這里的消息傳遞主要是信息傳遞以及節(jié)點(diǎn)與節(jié)點(diǎn)之間的信息傳遞。這個(gè)參數(shù)一般很少需要調(diào)整,默認(rèn)大小為 1MB 大?。幌旅娼榻B一下與 log 相關(guān)的參數(shù)配置說(shuō)明,包括 log level。這里的 log level 有多種,從 0 到 15,也就是共 16 種。如果設(shè)定為 0,則表示不高 level,也就是 15,則表示所有的信息都會(huì)通過(guò)標(biāo)準(zhǔn)輸出來(lái)任何 log。如果設(shè)置為最log。由于這里的所有信息實(shí)際上都會(huì)傳遞到管理節(jié)點(diǎn)的 cluster log 中,所以,一般來(lái)說(shuō),除了啟動(dòng)時(shí)候的

44、 log級(jí)別需要設(shè)置為 1 之外,其他所有的 log level 都只需要設(shè)置為 0 就可以了。NoOfFragmentLogFiles:這個(gè)參數(shù)實(shí)際上和 Oracle 的 redo log 的 group 一 樣 的 。其實(shí)就是 ndb 的 redo log group 數(shù)目,這些 redo log 用于存放 ndb 引擎所做的所有需要變更數(shù)據(jù)的事情,以及各種 checkpo信息等。默認(rèn)值為 8;MaxNoOfSavedMessages:這個(gè)參數(shù)設(shè)定了可以保留的 trace 文件(在節(jié)點(diǎn) crash的時(shí)候參數(shù))的最大個(gè)數(shù),文檔上面說(shuō)此參數(shù)默認(rèn)值為 25。LogLevelStartup:設(shè)定啟

45、動(dòng) ndb 節(jié)點(diǎn)時(shí)候需要錄的信息的詳細(xì)程度不一樣),默認(rèn)級(jí)別為 1;的信息的級(jí)別(不同級(jí)別所記LogLevelShutdown:設(shè)定關(guān)閉 ndb 節(jié)點(diǎn)時(shí)候日志的信息的級(jí)別,默認(rèn)為 0;LogLevelSistic:這個(gè)參數(shù)是針對(duì)于統(tǒng)計(jì)相關(guān)的日志的,就像更新數(shù)量,數(shù)量,buffer 使用情況,主鍵數(shù)量等等統(tǒng)計(jì)信息。默認(rèn)日志級(jí)別為 0;LogLevelCheckpo:checkpo級(jí)別(包括 local 和 global 的),默日志認(rèn)為 0;LogLevelNodeRestart:ndb 節(jié)點(diǎn)重啟過(guò)程日志級(jí)別,默認(rèn)為 0;LogLevelConnection:各節(jié)點(diǎn)之間連接相關(guān)日志的級(jí)別,默認(rèn)

46、0;LogLevelError:在整個(gè) Cluster 中錯(cuò)誤或者警告信息的日志級(jí)別,默認(rèn) 0;LogLevelInfo:普通信息的日志級(jí)別,默認(rèn)為 0。這里再介紹幾個(gè)用來(lái)作為 log時(shí)候需要用到的 Buffer 相關(guān)參數(shù),這些參數(shù)對(duì)于性能都有一定的影響。當(dāng)然,如果節(jié)點(diǎn)運(yùn)行在無(wú)盤模式下的話,則影響不大。UnndexBuffer:unndex buffer 主要是用于主鍵 hash 索引在變更之后產(chǎn)生的 undo 信息的緩沖區(qū)。默認(rèn)值為 2M 大小,最小可以設(shè)置為 1M,對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō), 2M 的默認(rèn)值是夠的。當(dāng)然,在更新非常頻繁的應(yīng)用里面,適當(dāng)?shù)恼{(diào)大此參數(shù)值對(duì)性能還是有一定幫助的。如果此參

47、數(shù)太小,會(huì)報(bào)出 677 錯(cuò)誤:Index UNDO buffers overloaded;UndoDataBuffer:和 unndex buffer 類似,undo data buffer 主要是在數(shù)據(jù)發(fā)生變更的時(shí)候所需要的 undo 信息的緩沖區(qū)。默認(rèn)大小為 16M,最小同樣為 1M。當(dāng)這個(gè)參數(shù)值太小的時(shí)候,系統(tǒng)會(huì)報(bào)出如下的錯(cuò)誤:Data UNDO buffers overloaded,錯(cuò)誤號(hào)為 891;RedoBuffer:Redo buffer 是用 redo log 信息的緩沖區(qū),默認(rèn)大小為 8M,最 小 為 1M。如果此 buffer 太小,會(huì)報(bào) 1221 錯(cuò)誤:REDO log

48、buffers overloaded。此外,NDB 節(jié)點(diǎn)還有一些和 metadata 以及基本上不需要任何調(diào)整,所以就不做進(jìn)一步介紹。如果有的相關(guān)參考手冊(cè),手冊(cè)上面都有較為詳細(xì)的介紹??刂葡嚓P(guān)的參數(shù),但大部分參數(shù)都希望詳細(xì)了解,可以根據(jù)3、SQL 節(jié)點(diǎn)相關(guān)配置說(shuō)明1) 和其他節(jié)點(diǎn)一樣,先介紹一些適用于所有節(jié)點(diǎn)的D DEFAULT參數(shù)ArbitrationR:這個(gè)參數(shù)在介紹管理節(jié)點(diǎn)的參數(shù)時(shí)候已經(jīng)介紹過(guò)了,用于設(shè)定節(jié)點(diǎn)級(jí)別(主要是在多個(gè)節(jié)點(diǎn)在處理相關(guān)操作時(shí)候出現(xiàn)所有的 SQL 節(jié)點(diǎn)都應(yīng)該設(shè)定為 2;時(shí)候設(shè)定裁定者)的。一般來(lái)說(shuō) ,ArbitrationDelay:默認(rèn)為 0,裁定者在開(kāi)始裁定之前需

49、要被 delay 多久,毫秒。一般不需要更改默認(rèn)值。為BatchByteSize:在做全表掃描或者索引范圍掃描的時(shí)候,每一次 fatch 的數(shù)據(jù)量,默認(rèn)為 32KB;BatchSize:類似 BatchByteSize 參數(shù),只不過(guò) BatchSize 所設(shè)定的是每一次 fetch的 record 數(shù)量,而不是物理總量,默認(rèn)為 64,最大為 992(暫時(shí)還不知道這個(gè)值是基于什么理論而設(shè)定的)。在實(shí)際運(yùn)行 query 的 過(guò)程 中,fetch 的量受到 BatchByteSize 和 BatchSize兩個(gè)參數(shù)的共同制約,二者取最小值;MaxScanBatchSize:在 Cluster 環(huán)境中

50、,進(jìn)行并行處理的情況下,所有節(jié)點(diǎn)的BatchSize 總和的最大值。默認(rèn)值為 256KB,最大值為 16MB。2) 每個(gè)節(jié)點(diǎn)獨(dú)有的D參數(shù)組,僅有 id 和 hostname 參數(shù)需要配置,在之前各類節(jié)點(diǎn)均有介紹了,這里就不再累述。4Cluster 基本管理與Cluster 的管理和普通的Server 管理區(qū)別較大,基本上大部分管理工作都是在管理節(jié)點(diǎn)上面完成,僅有少數(shù)管理內(nèi)容需要在其他節(jié)點(diǎn)實(shí)施。1、各節(jié)點(diǎn)啟動(dòng)與關(guān)閉要想 Cluster 環(huán)境能夠正常工作,只好要啟動(dòng)一個(gè) NDB 節(jié)點(diǎn)和一個(gè) SQL 節(jié)點(diǎn),另外為了完成管理,也至少要啟動(dòng)一個(gè)管理節(jié)點(diǎn)。各類節(jié)點(diǎn)的啟動(dòng)順序也有要求,首先是管理節(jié)點(diǎn),然后是

51、 NDB 節(jié)點(diǎn),最后才是 SQL 節(jié)點(diǎn)。1) 按順序啟動(dòng)各節(jié)點(diǎn):a、 啟動(dòng)管理節(jié)點(diǎn):rootlocalhostcluster/config.ini-cluster# ndb_mgmd -f /var/lib/-這里執(zhí)行的 ndb_mgmd 命令實(shí)際上就是config_file_name或者-config=config_filename來(lái)指定Cluster 管理服務(wù)器,可以通過(guò)-fCluster 集群的參數(shù)文件。如果想了解關(guān)于 ndb_mgmd 的參數(shù)信息,可以通過(guò)運(yùn)行 ndb_mgmd -help 來(lái)獲取更詳細(xì)的信息。b、 啟動(dòng)用于數(shù)據(jù)的 ndb 節(jié)點(diǎn)要啟動(dòng)節(jié)點(diǎn),必須在每一臺(tái) ndb 節(jié)點(diǎn)主機(jī)

52、上面都執(zhí)行 ndbd 程序,如果是第一次啟動(dòng),則需要添加-initial 參數(shù),以便進(jìn)行 ndb 節(jié)點(diǎn)的初始化工作。但是,在以后的啟 動(dòng)過(guò)程中,是不能添加該參數(shù)的,否則 ndbd 程序會(huì)清除在之前建立的所有用于恢復(fù)的數(shù)據(jù)文件和日志文件。啟動(dòng)命令如下rootndb1:/rootndbd -initialc、 啟動(dòng) SQL 節(jié)點(diǎn)SQL 節(jié)點(diǎn)的啟動(dòng)和普通Server 的啟動(dòng)沒(méi)有太多明顯的差別,不過(guò)有一個(gè)前Server 的配置文件f 設(shè)置好_cluster配置組中的 ndb-提就是需要在connectstring 參數(shù)和d配置組中的 ndbcluster 參數(shù)。root1:/rootd safe -u

53、ser=&2) 節(jié)點(diǎn)狀態(tài)檢查:在各節(jié)點(diǎn)都啟動(dòng)完成后,回到管理節(jié)點(diǎn),可以通過(guò) ndb_mgm 來(lái)查看各節(jié)點(diǎn)狀態(tài):rootlocalhost-cluster# ndb_mgm -e SHOWConnected to Management Server at: localhost:1186Cluster Configurationndbd(NDB)2 node(s)id=2id=3192.168.0.3 (Ver192.168.0.4 (Ver: 5.0.51, Nodegroup: 0, Master): 5.0.51, Nodegroup: 0)ndb_mgmd(MGM) 1 node(s)id

54、=1192.168.0.5 (Ver: 5.0.51)id=4 id=5d(API)2 node(s)192.168.0.1 (Ver10.0.65.203 (Ver: 5.0.51): 5.0.51)這里顯示出整個(gè)集群有 5 個(gè)幾點(diǎn),其中各節(jié)點(diǎn)信息如下:a) 2 個(gè) NDBD 節(jié)點(diǎn):ndbd(NDB)2 node(s)id=2id=3192.168.0.3 (Ver192.168.0.4 (Ver: 5.0.51, Nodegroup: 0, Master): 5.0.51, Nodegroup: 0)b) 兩個(gè)id=4 id=5SQL 節(jié)點(diǎn):d(API)2 node(s)192.168.0

55、.1 (Ver10.0.65.203 (Ver: 5.0.51): 5.0.51)c) 1 個(gè)管理節(jié)點(diǎn): ndb_mgmd(MGM) 1 node(s)id=1192.168.0.5 (Ver: 5.0.51)3) 節(jié)點(diǎn)的關(guān)閉操作:在Cluster 環(huán)境中,NDB 節(jié)點(diǎn)和管理節(jié)點(diǎn)的關(guān)閉都可以在管理節(jié)點(diǎn)的管理程序中完成,但是 SQL 節(jié)點(diǎn)卻沒(méi)辦法。所以,在關(guān)閉整個(gè)Cluster 環(huán)境或者關(guān)閉某個(gè) SQL節(jié)點(diǎn)的時(shí)候,首先必須到 SQL 節(jié)點(diǎn)主機(jī)上來(lái)關(guān)閉 SQL 節(jié)點(diǎn)程序。關(guān)閉方法和Server的關(guān)閉一樣,就不累述。而 NDB 節(jié)點(diǎn)和管理節(jié)點(diǎn)則都可以在管理節(jié)點(diǎn)通過(guò)管理程序來(lái)完成:ndb_mgm sh

56、utdownConnected to Management Server at: localhost:1186 Node 3: Cluster shutdown initiatedNode 2: Cluster shutdown initiated Node 2: Node shutdown completed. Node 3: Node shutdown completed.2 NDB Cluster node(s) have shutdown.Disconnecting to allow management server to shutdown.2、基本管理前面運(yùn)行令 ndb_mgm 如

57、果不帶任何參數(shù),實(shí)際上是進(jìn)入Cluster令行管理界面。在命令行管理界面里面可以做大量的工作,如下:rootlocalhost-cluster# ndb_mgm- NDB Cluster - Management C nt - ndb_mgm然后同樣執(zhí)行 show 命令:ndb_mgmshowConnected to Management Server at: localhost:1186 Cluster Configurationndbd(NDB)2 node(s)id=2 (not connected, accepting connect from 192.168.0.3)192.168.

58、0.4 (Ver: 5.0.51, Nodegroup: 0, Master)id=3ndb_mgmd(MGM) 1 node(s)id=1192.168.0.5 (Ver: 5.0.51)id=4id=5d(API)2 node(s)192.168.0.1 (Ver10.0.65.203 (Ver: 5.0.51): 5.0.51)可以看到結(jié)果和上面的完全一樣。可以通過(guò)在 ndb 控制界面下執(zhí)行 help 命令查看可以查看很多基本的ndb_mgm help管理命令:NDB Cluster - Management Cnt - HelpHELP HELPSHOW)SHOWPrPrhelp te

59、xtdetailed help forDD(e.g.Prinformation abolusterSTART BACKUP NOWAIT | WAIT STARTED | WAIT COMPLETEDStart backup (default WAIT COMPLETED)ABORT BACKUP Abort backupShutdown all proses in clusterCLUSTERLOG ON . CLUSTERLOG OFF . CLUSTERLOG TOGGLE . CLUSTERLOG INFO START RESTART -n -iEnable Cluster loggi

60、ng Disable Cluster loggingToggle severity filter on/offPrcluster log informationStart data node (started with -n)Restart data or management servernode STOPENTER SINGLE USER MODE EXIT SINGLE USER MODEStop data or management server node Enter single user modeExit single user mode SUSPrs us CLUSTERLOG

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論