標籤:資料庫叢集 資料庫服務 設定檔 軟體包
叢集:使用一組伺服器提供相同的服務LB :負載平衡叢集HA :高可靠叢集mysql叢集中伺服器的角色?1、資料節點 ndbd 用來儲藏資料(表的記錄)2、sql節點 使用者訪問資料的介面 執行使用者輸入的sql語句 3、管理節點 mgmd 管理叢集中的所有主機 在啟動管理進程時載入,自己的主設定檔,定義叢集中各個主機的角色4、用戶端:訪問資料 只要有串連資料庫服務的工具就可以了 //(mysql-cluster-client)mysql-clusert 提供3種進程管理進程 管理進程啟動並執行管理主機上ndbd進程 運行在資料節點上。sql進程(叢集軟體包裡提供的資料庫服務,運行sql節點上)
一、安裝提供叢集服務的軟件包
tar -xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpbundle.tar rpm -ivh MySQL-Cluster-*.rpm
二、組態管理節點 192.168.1.1
管理叢集中的所有主機,啟動管理進程時載入自己的主設定檔/etc/config.ini (設定叢集中個主機的角色,各個主機角色在運行時參數的設定)
[ndbd default] // 資料節點公用配置[ndb_mgmd] //設定管理主機[ndbd] // 指定資料節點主機[mysqld] // 指定sql節點 mkdir /var/log/mysql-cluster //自己建立這個目錄
vim /etc/config.ini //自己編輯這個檔案[ndbd default] NoOfReplicas=2 //資料節點主機個數DataMemory=80M IndexMemory=18M [ndb_mgmd] //管理節點nodeid=1 hostname=192.168.1.1 datadir=/var/log/mysql-cluster [ndbd] //資料節點nodeid=2 hostname=192.168.1.10 datadir=/var/log/mysql-cluster/data [ndbd] //資料節點nodeid=20 hostname=192.168.1.20 datadir=/var/log/mysql-cluster/data [mysqld] //mysql節點nodeid=10 hostname=192.168.1.30 [mysqld] nodeid=30 hostname=192.168.1.40:wq
三、配置資料節點 192.168.1.10 192.168.1.20
資料節點用來儲存資料,運行資料進程
ping 192.168.1.1mkdir -p /var/log/mysql-cluster/data //自己建立這個目錄vim /etc/my.cnf //自己編輯這個檔案[mysqld]datadir=/var/log/mysql-cluster/data ndb-connectstring=192.168.1.1ndbcluster [mysql_cluster]ndb-connectstring=192.168.1.1另一個資料節點配置和這個一樣只需 scp /etc/my.cnf
四、配置sql節點 192.168.1.30 192.168.1.40
供使用者訪問和執行sql語句,運行mysql資料服務。
vim /etc/my.cnf[mysqld]ndbcluster default-storage-engine=ndbcluster [mysql_cluster]ndb-connectstring=192.168.1.1 :wq 另一個mysql節點配置和這個一樣只需 scp /etc/my.cnf [email protected]:/etc/my.cnf
五、啟動叢集服務
1 啟動管理節點
ndb_mgmd -f /etc/config.ininetstat -untlap | grep :1186ps aux | grep ndb_mgmdpkill -9 ndb_mgmd //結束進程需要這條口令[[email protected] ~]# ndb_mgm-- NDB Cluster -- Management Client --ndb_mgm> showndb_mgm>exit
2 啟動資料節點
[[email protected] ~]#ndbdpgrep ndbd pkill -9 ndbd //結束進程需要這條口令* ndb 節點進程啟動不了,在管理節點和資料節點執行 iptables -F service iptables save然後再在資料節點上執行ndbd3 啟動sql節點service mysql restart
六、驗證叢集
解決單點故障 當有一台資料節點down機不會影響服務 當有一台MYSQLdown機也不會影響服務啟動mysql時經常出現缺少xxx.pid這個問題,只需要把/var/lib/mysql/下有關記錄檔刪除就行, 然 後重新啟動服務
部署mysql叢集