我希望有人能夠指出我在哪裏出錯,將具有多個管理節點的MySQL Cluster 7.1集羣化爲3臺服務器。具有多個管理節點的Windows 2008上的MySQL Cluster 7.1
目前,集羣可以與一個管理節點完美協作。這是設置:
- 首先服務器只運行ndb_mgmd的一個實例(192.168.66.114)
- 二臺服務器運行的ndbd和mysqld的實例(192.168.66.2)
- 三服務器運行的實例ndbd和mysqld(192.168.66.113)
我想在集羣中引入第二個管理節點。我有兩個管理服務器完全相同的config.ini。那就是:
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
PortNumber=1186
datadir=c:/Progra~1/mysql-cluster-gpl-7.1.3-win32
LogDestination=FILE:filename=c:/Progra~1/mysql-cluster-gpl-7.1.3-win32/clusterlog.log
[TCP DEFAULT]
# Management Server
[NDB_MGMD]
Id=1
HostName=192.168.66.114
ArbitrationRank=1
[NDB_MGMD]
Id=6
HostName=192.168.66.2
ArbitrationRank=2
# Storage Engines
[NDBD]
Id=2
HostName=192.168.66.2
DataDir= D:/AppData/ndb-7.1.3
[NDBD]
Id=3
HostName=192.168.66.113
DataDir= D:/AppData/ndb-7.1.3
[MYSQLD]
Id=4
HostName=192.168.66.2
[MYSQLD]
Id=5
HostName=192.168.66.113
當我開始在兩臺服務器上ndb_mgmd實例,並在ndb_mgm
發出show
命令,第一管理服務器我看到它開始於:
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.66.2 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)
id=3 @192.168.66.113 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1 @192.168.66.114 (mysql-5.1.44 ndb-7.1.3)
id=6 (not connected, accepting connect from 192.168.66.2)
[mysqld(API)] 2 node(s)
id=4 @192.168.66.2 (mysql-5.1.44 ndb-7.1.3)
id=5 @192.168.66.113 (mysql-5.1.44 ndb-7.1.3)
ndb_mgm>
我還沒有第二管理服務器上啓動第二管理實例,因此下面的行是完全行(從上面ndb_mgm輸出):
id=6 (not connected, accepting connect from 192.168.66.2)
然後,我轉到第二臺管理服務器(192.168.66.2),然後啓動ndb_mgmd。啓動它後,我反對它發出show
命令:
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 (not connected, accepting connect from 192.168.66.2)
id=3 (not connected, accepting connect from 192.168.66.113)
[ndb_mgmd(MGM)] 2 node(s)
id=1 (not connected, accepting connect from 192.168.66.114)
id=6 @192.168.66.2 (mysql-5.1.44 ndb-7.1.3)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from 192.168.66.2)
id=5 (not connected, accepting connect from 192.168.66.113)
ndb_mgm>
而不是列出兩個管理節點的連接,第二個管理節點只是報告說,它本身連接。在192.168.66.114讓我們再回到第一個管理服務器仍然給出了相同的輸出前啓動第二ndb_mgmd,在192.168.66.114即唯一的管理節點連接:
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.66.2 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)
id=3 @192.168.66.113 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)
id=1 @192.168.66.114 (mysql-5.1.44 ndb-7.1.3)
id=6 (not connected, accepting connect from 192.168.66.2)
[mysqld(API)] 2 node(s)
id=4 @192.168.66.2 (mysql-5.1.44 ndb-7.1.3)
id=5 @192.168.66.113 (mysql-5.1.44 ndb-7.1.3)
ndb_mgm>
我花了很多時間,現在想找出有什麼不對,但無濟於事。也請看看第一個管理服務器的ndb_mgmd日誌文件,摘錄其中開始第二ndb_mgmd之後馬上拍攝在192.168.66.2:
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Reading cluster configuration from 'c:/Progra~1/mysql-cluster-gpl-7.1.3-win32/config.ini'
2010-05-21 16:05:04 [MgmtSrvr] WARNING -- at line 45: Cluster configuration warning:
arbitrator with id 6 and db node with id 2 on same host 192.168.66.2
Running arbitrator on the same host as a database node may
cause complete cluster shutdown in case of host failure.
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Config equal!
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Mgmt server state: nodeid 1 reserved for ip 192.168.66.114, m_reserved_nodes 1.
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Id: 1, Command port: *:1186
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 127.0.0.1:3727: Connected!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- Sending CONFIG_CHECK_REQ to 1
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- Got CONFIG_CHECK_REQ from node: 1. Our generation: 1, other generation: 1, our state: 2, other state: 2, our checksum: 0xc7202738, other checksum: 0xc7202738
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- Send CONFIG_CHECK_CONF to node: 1
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- Got CONFIG_CHECK_CONF from node: 1
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.113:51051: Connected!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.2:65492: Connected!
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Node 1: Node 6 Connected
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Node 6 connected
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- Sending CONFIG_CHECK_REQ to 6
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- Got CONFIG_CHECK_CONF from node: 6
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Node 1: Node 3 Connected
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.113:51051: Stopped!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.113:51051: Disconnected!
2010-05-21 16:05:04 [MgmtSrvr] INFO -- Node 1: Node 2 Connected
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.2:65492: Stopped!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.2:65492: Disconnected!
2010-05-21 16:05:05 [MgmtSrvr] INFO -- Node 3: Prepare arbitrator node 1 [ticket=16800008ebadb656]
2010-05-21 16:05:05 [MgmtSrvr] INFO -- Node 2: Started arbitrator node 1 [ticket=16800008ebadb656]
就個人而言,我覺得從上面下面兩行輸出有意思:
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.2:65492: Stopped!
2010-05-21 16:05:04 [MgmtSrvr] DEBUG -- 192.168.66.2:65492: Disconnected!
沒有錯誤消息,雖然,它只是說停止與斷開。
任何人都可以弄清楚我的設置有什麼問題嗎?任何幫助將非常感激。
鏈接現已停止。 – ChrisF 2013-07-19 12:52:00