NDBCluster 安裝

參考博文:centos65安裝簡測mysql cluster 7.3.7

1 設(shè)備信息

1.1 設(shè)備臺數(shù)

服務(wù)器數(shù)量 2 臺:172.16.112.28 和 172.16.112.29

1.2 服務(wù)器信息

CentOS release 6.8 (Final)      

2 NDB Cluster安裝

2.1 安裝規(guī)劃

整個(gè) NDB Cluster 一共5個(gè)節(jié)點(diǎn):
172.16.112.28 分別做一個(gè)數(shù)據(jù)節(jié)點(diǎn),SQL節(jié)點(diǎn),管理節(jié)點(diǎn)
172.16.112.29 分別做一個(gè)數(shù)據(jù)節(jié)點(diǎn),SQL節(jié)點(diǎn),管理節(jié)點(diǎn)

2.2 下載

Mysql Cluster下載地址
選擇MySQL Cluster 7.4版本,因?yàn)樵摪姹镜?Mysql 版本為 5.6.42,可根據(jù)自身需要選擇版本。

image.png

2.3 卸載老版本的Mysql

如果系統(tǒng)內(nèi)已經(jīng)有Mysql服務(wù)了,需要先卸載后再進(jìn)行安裝,否則會(huì)報(bào)錯(cuò)。

rpm -qa | grep mysql
mysql-libs-5.1.73-7.el6.x86_64
yum -y remove mysql-libs-5.1.73-7.el6.x86_64  #卸載命令

2.4 創(chuàng)建用戶和組

groupadd mysql
useradd -r -g mysql mysql
id mysql

2.5 安裝數(shù)據(jù)節(jié)點(diǎn)和Mysql節(jié)點(diǎn)

tar -zxvf mysql-cluster-gpl-7.4.22-linux-glibc2.12-x86_64.tar.gz

因?yàn)槭蔷G色版的,所以解壓就已經(jīng)安裝完成了。直接放至 /usr/local/mysql/ 目錄下即可。

mv mysql-cluster-gpl-7.4.22-linux-glibc2.12-x86_64 /usr/local/mysql

給 mysql 系統(tǒng)權(quán)限

 chown -R root:mysql /usr/local/mysql/
 chown -R mysql /usr/local/mysql/data/ 

進(jìn)入 mysql 目錄下

cd /usr/local/mysql/

創(chuàng)建MySQL Server系統(tǒng)表

scripts/mysql_install_db --user=mysql

配置數(shù)據(jù)庫服務(wù)

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

設(shè)置數(shù)據(jù)庫為開機(jī)啟動(dòng)

chkconfig --add mysqld

配置Mysql文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

需要新增這些配置信息在 /etc/my.cnf 上

[mysql_cluster]
ndb-connectstring = 172.16.112.28  //172.16.112.28 為管理節(jié)點(diǎn)
[mysqld]
ndbcluster

雙管理節(jié)點(diǎn)的為

[mysql_cluster]
ndb-connectstring=172.16.112.28,172.16.112.29
[mysqld]
ndbcluster

到這里數(shù)據(jù)節(jié)點(diǎn)和管理節(jié)點(diǎn)就完成了,兩臺服務(wù)器都需要配置

2.6 部署管理節(jié)點(diǎn)

管理節(jié)點(diǎn)只需要在一臺服務(wù)器上部署就可以了,我們選擇 .28 這臺來部署。
講 ndb_mgm ndb_mgmd 這兩個(gè)文件移動(dòng)到 /usr/local/bin 下

cp mysql/bin/ndb_mgm* /usr/local/bin

配置管理節(jié)點(diǎn)配置文件

mkdir /var/lib/mysql-cluster
vi /var/lib/mysql-cluster/config.ini

新增如下配置信息

[ndbd default]
# Options affecting ndbd processes on all data nodes:
NoOfReplicas=2    # Number of replicas
DataMemory=80M    # How much memory to allocate for data storage
IndexMemory=18M   # How much memory to allocate for index storage

[tcp default]
# TCP/IP options:

[ndb_mgmd]
# Management process options:
hostname=172.16.112.28          # Hostname or IP address of MGM node
datadir=/var/lib/mysql-cluster  # Directory for MGM node log files
NodeId=1

[ndbd]
# Options for data node-1:
                                # (one [ndbd] section per data node)
hostname=172.16.112.29            # Hostname or IP address
datadir=/usr/local/mysql/data   # Directory for this data node's data files
NodeId=2

[ndbd]
# Options for data node-2:
hostname=172.16.112.28            # Hostname or IP address
datadir=/usr/local/mysql/data   # Directory for this data node's data files
NodeId=3

[mysqld]
# SQL node options:
hostname=172.16.112.28            # Hostname

[mysqld]
# SQL node options:
hostname=172.16.112.29            # Hostname

雙管理節(jié)點(diǎn) config.ini 配置文件如下

[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
ServerPort=2202

[ndb_mgmd default]
DataDir= /var/lib/mysql-cluster
LogDestination=SYSLOG:facility=local0;FILE:filename=/var/lib/mysql-cluster/log.log

[tcp default]

[ndb_mgmd]
NodeId=1
HostName=172.16.112.28
DataDir=/var/lib/mysql-cluster

[ndb_mgmd]
NodeId=2
HostName=172.16.112.29
DataDir=/var/lib/mysql-cluster

[ndbd]
NodeId=3
HostName=172.16.112.29
DataDir=/usr/local/mysql/data

[ndbd]
NodeId=4
HostName=172.16.112.28
DataDir=/usr/local/mysql/data

[mysqld]
NodeId=5
HostName=172.16.112.28

[mysqld]
NodeId=6
HostName=172.16.112.29

到這管理節(jié)點(diǎn)就配置完成了。

2.7 啟動(dòng)集群

啟動(dòng)循序應(yīng)該為:管理節(jié)點(diǎn)->數(shù)據(jù)節(jié)點(diǎn)->SQL節(jié)點(diǎn)

單管理節(jié)點(diǎn)集群啟動(dòng)管理方法

更改 confg.ini 后或者第一次啟動(dòng)應(yīng)該使用以下

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

普通啟動(dòng)不需要加 --initial 參數(shù)

ndb_mgmd -f /var/lib/mysql-cluster/config.ini 
雙管理節(jié)點(diǎn)集群啟動(dòng)管理方法

在 .28 那臺服務(wù)器啟動(dòng)方法

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

在 .29 那臺服務(wù)器啟動(dòng)方法

ndb_mgmd -c 172.16.112.28 --ndb-nodeid=2 -f /var/lib/mysql-cluster/config.ini

這里的--ndb-nodeid 應(yīng)該為本臺服務(wù)器的地址在配置文件中的節(jié)點(diǎn) id 標(biāo)識號,而且兩臺服務(wù)器的配置文件應(yīng)該一樣。

啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)

第一次需要加 --initial 參數(shù),后續(xù)不需要

/usr/local/mysql/bin/ndbd --initial

兩臺服務(wù)器的數(shù)據(jù)節(jié)點(diǎn)都要啟動(dòng)
這里需要防火墻開放 1186 端口

vim /etc/sysconfig/iptables

添加下面的記錄到 iptables 表中

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1186 -j ACCEPT

重啟防火墻

service iptables restart

啟動(dòng)SQL 節(jié)點(diǎn)

/etc/init.d/mysqld start

可用下面的命令檢查是否啟動(dòng)成功,有進(jìn)程則說明啟動(dòng)成功

ps -ef | grep mysql

2.7 關(guān)閉集群

關(guān)閉順序應(yīng)該為:SQL節(jié)點(diǎn)->數(shù)據(jù)節(jié)點(diǎn)->管理節(jié)點(diǎn)

關(guān)閉SQL節(jié)點(diǎn)

/etc/init.d/mysqld stop

關(guān)閉管理節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)

ndb_mgm -e shutdown

使用以上命令可以關(guān)閉管理節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)

3 NDB Cluster 使用

ndb_mgm 命令登錄數(shù)據(jù)庫

ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 172.16.112.28:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3    @172.16.112.29  (mysql-5.6.42 ndb-7.4.22, Nodegroup: 0, *)
id=4    @172.16.112.28  (mysql-5.6.42 ndb-7.4.22, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @172.16.112.28  (mysql-5.6.42 ndb-7.4.22)

[mysqld(API)]   2 node(s)
id=5    @172.16.112.28  (mysql-5.6.42 ndb-7.4.22)
id=6    @172.16.112.29  (mysql-5.6.42 ndb-7.4.22)

ndb_mgm>

可以看到用 show 命令可以查看各個(gè)節(jié)點(diǎn)的信息

4 NDB Cluster 數(shù)據(jù)備份與恢復(fù)

4.1 數(shù)據(jù)備份

編輯配置文件

[ndbd default]
BackupDataDir=/data/mysql-cluster

在 [ndbd default] 項(xiàng)中加入備份目錄,如果配置該項(xiàng),備份目錄默認(rèn)為 /usr/local/mysql/data/BACKUP/
登錄 ndb_mgm , 執(zhí)行備份命令即可

start backup nowait
 Node 3: Backup 1 started from node 1
Node 3: Backup 1 started from node 1 completed
 StartGCP: 383 StopGCP: 386
 #Records: 2060 #LogRecords: 0
 Data: 52040 bytes Log: 0 bytes

這里需要記錄備份 id ,如該次備份的 id = 1。

4.2 數(shù)據(jù)恢復(fù)

需要數(shù)據(jù)恢復(fù)時(shí),啟動(dòng)數(shù)據(jù)節(jié)點(diǎn)應(yīng)該帶 --initial 參數(shù),否則恢復(fù)會(huì)失敗。
執(zhí)行數(shù)據(jù)數(shù)據(jù)恢復(fù)命令

ndb_restore -b1 -n4 -m -r /data/mysql-cluster/BACKUP/BACKUP-1/

-b 備份id
-n NDB節(jié)點(diǎn)id
-m 恢復(fù)表定義
-r 備份路徑
-c cluster管理節(jié)點(diǎn)連接

5 NDB Cluster常見問題

5.1 關(guān)于雙管理節(jié)點(diǎn)集群有個(gè)管理節(jié)點(diǎn)連接不上的問題

  1. 可能是該管理節(jié)點(diǎn)沒啟動(dòng)。
  2. 可能是服務(wù)器防火墻沒開,請檢查 /etc/sysconfig/iptables 文件是否開放了 1186端口
  3. 可能是兩臺服務(wù)器的 config.ini 配置文件不一樣,請檢查后做以下操作:
    主服務(wù)器上
ndb_mgmd --skip-config-cache -f /var/lib/mysql-cluster/config.ini

另一臺服務(wù)器上

ndb_mgmd -c 172.16.112.28 --skip-config-cache --ndb-nodeid=2 -f /var/lib/mysql-cluster/config.ini

5.2 NDB Cluster 數(shù)據(jù)同步的問題

  1. 若需要數(shù)據(jù)同步的話,需要將表的引擎設(shè)置 engine=ndbcluster。
  2. 數(shù)據(jù)庫不會(huì)自動(dòng)同步,需要再同步的服務(wù)器新建相同名字的數(shù)據(jù)庫,庫里面的表單數(shù)據(jù)就會(huì)自己同步了,前提表的引擎為 ndbcluster。

5.3 關(guān)于數(shù)據(jù)恢復(fù)的問題

Backup Id = 4
Nodeid = 4
backup path = /data/mysql-cluster/BACKUP/BACKUP-4/
Opening file '/data/mysql-cluster/BACKUP/BACKUP-4/BACKUP-4.4.ctl'
File size 22368 bytes
Backup version in files: ndb-6.3.11 ndb version: mysql-5.6.42 ndb-7.4.22
Stop GCP of Backup: 3157

Failed to initialize consumers

NDBT_ProgramExit: 1 - Failed

恢復(fù)數(shù)據(jù)時(shí)發(fā)現(xiàn)報(bào)以上的錯(cuò)誤,解決方法為:
編輯 config.ini 配置文件
新增一行

[mysqld]

其他不用理,重啟 NDBCluster,再進(jìn)行備份即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,329評論 2 89
  • 主:192.168.122.11從:192.168.122.22代理:192.168.122.33 主和從上分別是...
    不排版閱讀 555評論 0 3
  • 十幾年前剛參加工作的時(shí)候,愛人(當(dāng)時(shí)還是女朋友)陪我一起在萬順眼鏡超市選配了一副眼鏡,金屬材質(zhì)、半框設(shè)計(jì)、藍(lán)色主調(diào)...
    阿洪的木立方閱讀 216評論 0 1
  • 當(dāng)我們要去選擇做交易的時(shí)候?首先我們需要思考這個(gè)交易市場是什么?股市期貨市場是財(cái)富再分配的場所,是列寧主義黨汲取財(cái)...
    長空資本閱讀 184評論 0 0
  • 好久沒遇見像泰戈?duì)柕摹冻链愤@樣的好書了,經(jīng)得起細(xì)細(xì)品味,意猶未盡。《沉船》講述的是印度封建制度下的四位青年男女主...
    YL梨花閱讀 1,217評論 1 0

友情鏈接更多精彩內(nèi)容