零基礎-linux下模擬mysql雙機集羣的安裝工藝

一、環境

虛擬機:vmware work station 8.0.4

安裝3臺linux服務器:Red Hat rhel-5.1-server-i386-dvd.iso(虛擬機安裝一臺後,其他用vmware拷貝2份)

本機環境:windows 7,安裝客戶端SSH Secure Shell Client 3.2.9

mysql軟件直接從官網下載的mysql-cluster-gpl-7.2.10-linux2.6-i686.tar.gz,通過ssh傳輸到3臺linux虛擬機上面

二、安裝linux服務器

具體安裝步驟不介紹了,安裝完成後關閉不用的服務,自由選擇,備註,一定要關閉xend服務,否則虛擬機不能同時啓動,報錯

chkconfig sendmail off

chkconfig bluetooth off
chkconfig ip6tables off
chkconfig iptables off
chkconfig xend off
chkconfig cups off
chkconfig 
vi /etc/selinux/config 設置SELINUX=disabled
三、集羣安裝工藝
由於個人模擬集羣,如果跑太多虛擬機時間長點實在太卡,所以只能選擇雙機集羣,共需3臺機器
管理節點:192.168.142.2
數據節點and SLQ節點:192.168.142.3
數據節點and SLQ節點:192.168.142.129
確保互通,另關閉iptalbes,否則需要單獨設置,默認影響集羣1186端口服務
網上流傳版本多介於mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
此版本是mysql很早的版本了,很多新特性不支持,但是是標準版,server版,max版做集羣,現在都是用cluster作爲集羣版本了,對應mysql-5.5.29,下面介紹具體安裝方法:
 
1)在3臺機器上均執行如下操作,創建Mysql用戶,權限處理,上面的安裝包均放至/usr/local目錄下通過tar zxvf命令解壓
# cd /usr/local/
# groupadd mysql
# useradd -g mysql mysql
# mv mysql-cluster-gpl-7.2.10-linux2.6-i686 mysql
# chown -R mysql:mysql /usr/local/mysql 
 
 
2)配置管理節點
[root@song-PC bin]# cp /usr/local/mysql/bin/ndb_mgmd /usr/bin
[root@song-PC bin]# cp /usr/local/mysql/bin/ndb_mgm /usr/bin
chmod +x ndb_mg*
建立配置文件
# mkdir /var/lib/mysql-cluster
# cd /var/lib/mysql-cluster
# vi config.ini
編寫如下內容
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
DataDir= /var/lib/mysql-cluster
# Managment Server
[NDB_MGMD]
HostName=192.168.142.2# manage_server_ip
# Storage Engines
[NDBD]
HostName=192.168.142.3
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=192.168.142.129
DataDir=/var/lib/mysql-cluster
[MYSQLD]
HostName=192.168.142.3
[MYSQLD]
HostName=192.168.142.129
[MYSQLD]
[MYSQLD]
[tcp default]
啓動管理節點/usr/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
#/usr/bin/ndb_mgm
輸入show可以查看集羣各節點狀態
 
3)配置數據節點
[root@song-VPC2 ~]# cd /usr/local/mysql/
[root@song-VPC2 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@song-VPC2 mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@song-VPC2 mysql]# chkconfig --add mysqld
[root@song-VPC2 mysql]# scripts/mysql_install_db --user=mysql
此時提示Installing MySQL system tables...
編輯vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring=192.168.142.2
[mysql_cluster]
ndb-connectstring=192.168.142.2
保存退出
[root@song-VPC2 mysql]# mkdir /var/lib/mysql-cluster
 
4)啓動數據節點
cd /var/lib/mysql-cluster/
[root@song-VPC2 mysql-cluster]# /usr/local/mysql/bin/ndbd --initial #第一次啓動加initial參數
5)啓動sql節點
[root@song-VPC2 mysql-cluster]# /etc/rc.d/init.d/mysqld start
提示Starting MySQL.........
時間稍微長點2分鐘左右,ok正常
 
6)管理節點維護
[root@song-PC ~]# /usr/bin/ndb_mgm #進入節點管理命令行
-- NDB Cluster -- Management Client --
ndb_mgm> show #查看節點狀態
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.142.3  (mysql-5.5.29 ndb-7.2.10, starting, Nodegroup: 0)
id=3 (not connected, accepting connect from 192.168.142.129)
 
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.142.2  (mysql-5.5.29 ndb-7.2.10)
 
[mysqld(API)]   4 node(s)
id=4 (not connected, accepting connect from 192.168.142.3)
id=5 (not connected, accepting connect from 192.168.142.129)
id=6 (not connected, accepting connect from any host)
id=7 (not connected, accepting connect from any host)
 
更新config.ini(更換節點ip)後需要重啓管理節點
step 1:停止
ndb_mgm> 1 stop  
Node 1 has shutdown.  
Disconnecting to allow Management Server to shutdown
 
step 2:重新加載
shell> /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload  
MySQL Cluster Management Server mysql-5.5.22 ndb-7.2.6
 
step 3:重啓數據節點
ndb_mgm> 2 restart  
Node 2: Node shutdown initiated  
Node 2: Node shutdown completed, restarting, no start.  
Node 2 is being restarted  
 
ndb_mgm> 3 restart  
Node 3: Node shutdown initiated  
Node 3: Node shutdown completed, restarting, no start.  
Node 3 is being restarted
 
如果數據節點處於starting狀態,是不能1 stop的,需要在數據節點執行ps -ef|grep ndbd,找到進程kill掉
 
 
7)問題備註:
已解決:mysql運行期間如果修改hostname可能導致mysql服務不能啓動也不能停止
[root@song-VPC1 mysql-cluster]# service mysqld status
/etc/init.d/mysqld: line 363: test: 4362: binary operator expected
MySQL is running but PID file could not be found           [FAILED]
待解決:管理節點重啓後如果從新啓動管理服務,需要過幾分鐘數據節點才能鏈接
在此過程中,數據節點同時連接總會掉線,報錯如下:
ndb_mgm> Node 3: Forced node shutdown completed. Occured during startphase 0. Initiated by signal 11.
如果是kill掉的,會提示Initiated by signal 9.
爲什麼會自動掉?負載過大還是bug?這個不太清楚
 
8)測試在數據節點1 create database可以和節點2同步,至此安裝完成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章