歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

ubuntu系統:集群連接狀態測試

一.集群連接狀態測試

首先,我們回到管理節點(mysql-mgm.mtest.com)上。在該服務器上,執行下面的命令:

$ ndb_mgm

命令執行後,就會進入MGM的客戶端界面,並顯示mgm提示符:

-- NDB Cluster -- Management Client --

ndb_mgm>

在該提示符下,輸入show命令,來查看當前連接狀態:

ndb_mgm> show

在正常情況下,應該顯示如下內容:

從上述內容我們可以看到,兩個NDB節點192.168.1.13和192.168.1.14都已經連接到管理節點上來了。配置成功!

執行quit或者exit命令,退出MGM客戶端:

ndb_mgm> quit

現在,讓我們來看看集群在數據存儲方面是否正常。我們將分別在兩個存儲節點上進行數據操作。

1.數據同步測試

首先,我們在節點mysql-data1.mytest.com上,創建一個數據庫,並插入一行數據。

$ mysql -u root -p

輸入密碼後,就進入了MySQL客戶端的命令行界面。在該界面中,輸入如下命令:

上述命令創建了一個叫做clustertest的數據庫,在該數據庫中創建了一個名為testtable的表,該表的類型為NDBCLUSTER,也就是采用NDBCLUSTER作為數據庫引擎。該表中有一個字段叫做Count。我們還向該表插入了一條數據,其Count字段的值為1。

現在,我們再到mysql-data2.mytest.com節點上,創建一個同名的數據庫。我們僅需要創建數據庫,然後,該數據庫的所有數據都會自動復制過來。

$ mysql -u root -p

輸入密碼後,就進入了MySQL客戶端的命令行界面。在該界面中,輸入如下命令:

看到了吧,數據已經從mysql-data1.mytest.com復制到mysql-data2.mytest.com這個節點上了。

現在,我們在mysql-data2.mytest.com上,再向數據庫插入一條數據:

mysql> INSERT INTO testtable () VALUES (2);

Query OK, 1 row affected (0.23 sec)

mysql> quit

Bye

數據插入後,我們回到mysql-data1.mytest.com上,看看數據是否同步過去了:

很好!在mysql-data1.mytest.com上也能查到該數據。

也就是說,兩個NDB節點,始終會保持互相同步,保持相同的數據。

2.故障模擬測試

假如兩個NDB節點當中的一個發生故障,會怎麼樣呢?另一個節點上面的數據能夠查詢得到嗎?現在我們來測試一下。

首先,我們把mysql-data1.mytest.com節點上的ndb服務停掉,來看看在另外一個節點mysql-data2.mytest.com上還能不能查到完整的數據。

在mysql-data1.mytest.com上執行命令:

$ sudo /etc/init.d/mysql-ndb stop

然後,到管理節點mysql-mgm.mytest.com上確認一下集群的連接狀態:

可以看到,192.168.1.13這個NDB節點(mysql-data1.mytest.com)確實已經斷開連接了。輸入quit或者exit命令退出MGM界面:

ndb_mgm> quit

現在,我們在mysql-data2.mytest.com上看看是否還能查詢數據:

$ mysql -u root -p

輸入密碼後,就進入了MySQL客戶端的命令行界面。在該界面中,輸入如下命令:

很好,在mysql-data1.mytest.com節點發生故障時,在mysql-data2.mytest.com節點上仍然可以工作。

我們再向mysql-data2.mytest.com的數據庫中插入一條數據:

現在,我們重新啟動mysql-data1.mytest.com,看看剛才插入的數據能否查到:

$ sudo /etc/init.d/mysql-ndb start

$ mysql -u root -p

輸入密碼後,就進入了MySQL客戶端的命令行界面。在該界面中,輸入如下命令:

非常好!這說明,如果有NDB節點發生故障,故障期間在其他NDB節點上新插入的數據,在故障節點恢復後,仍然可以成功地進行數據同步。

Copyright © Linux教程網 All Rights Reserved