如何讓 mysql cluster 的 多台ndb節點,網路恢復後,同時重啟

飛宇 发布于 2010/06/08 21:54
阅读 1K+
收藏 1

如何讓 mysql cluster 的 多台ndb節點,網路恢復後,同時重啟?

目前有遇到個問題,就是mysql cluster 群集,網路斷線後,會使的整個群集,停止.

必須要去每台ndb節點,重新啟動,才會正常.

這樣如果有幾十台的節點,一台一台處理,根本沒有效率.

請問是否有人可以提供相關的解決方式? 謝謝.

加载中
0
绿悠悠
绿悠悠

似乎 heartbeat 可以自己编写脚本来进行监控。

0
飛宇

heartbeat 似乎可行,看起來建立 heartbeat 有點複雜;

預先想像的方式:

腳本可能相當複雜,必須在網路恢復後,每個節點都要對所有節點進行,連線檢查,例如:ping;

確認所有節點已連通,再進行節點ndb的啟動.

想到頭暈了,先來研究看看,heartbeat

感謝

0
张宋付
张宋付

其实可以采用mysql sandbox(perl)工具。很不错的。我现在在使用中。而且也在不断用(python)改造成为自己一个小的cluster mysql开源软件。有时间给大家分享一下。。。

0
张宋付
张宋付

heartbeat就是用来做双机热备。为什么和mysql cluster结合来用呢?不太明白

0
飛宇

mysql sandbox 可否說明一下,如何做到多台ndb節點,網路恢復後,同時重啟.

mysql cluster 如果節點是正常關閉,可以用 mgm(管理節點)命令,重新啟動;

但是如果是網路忽然掉線;似乎無法用 mgm(管理節點) 命令的方式啟動.

0
飛宇

目前用了一個比較簡單的方式,在管理節點設定了一個執行檔,可以用來執行多台node啟動

有一些設定需先設定完成後才能;

1.須先設定每台的root 密碼(統一會比較方便)
sudo passwd

2.設定 /etc/hosts
ex:
192.168.0.100   mgm
192.168.0.101   ndb1
192.168.0.102   ndb2
192.168.0.103   ndb3
192.168.0.104   ndb4
這樣ssh每台速度才會快,每免連接過久,前面node啟動等待約60秒後,其他node沒完成啟動node群組就會失效.

2.mgm主機設定一個執行檔
cluster_node_start.sh
sudo ssh 192.168.0.101 "sudo /usr/local/mysql/bin/ndbd"
sudo ssh 192.168.0.102 "sudo /usr/local/mysql/bin/ndbd"
sudo ssh 192.168.0.103 "sudo /usr/local/mysql/bin/ndbd"
sudo ssh 192.168.0.104 "sudo /usr/local/mysql/bin/ndbd"

*缺點是執行後,需重複輸入root 密碼,雖然可以用貼的;就是不能全自動化.

目前只想到這種方式.

0
张宋付
张宋付

这种也可以的。

不过有更加高级哦。

哈哈。。。

返回顶部
顶部