MySQL NDB集群安裝配置(mysql cluster 9.4.13 installation)


一、安裝前規划

1、安裝軟件版本:mysql-cluster-gpl-7.4.13-linux-glibc2.5-x86_64.tar.gz

2、安裝規划:

主機名

Ip地址

角色

db01

192.168.100.131

管理節點

db02

192.168.100.132

SQL節點

db03

192.168.100.133

SQL節點

db04

192.168.100.134

data節點

db05

192.168.100.135

data節點

3、配置/etc/hosts文件(所有節點):

192.168.100.231         db01

192.168.100.232         db02

192.168.100.233         db03

192.168.100.234         db04

192.168.100.235         db05

二、安裝NDB Cluster

1、SQL節點安裝:

在每一個被指定為SQL節點的主機上,使用root用戶執行以下步驟:

1)檢查你的操作系統上是否已經創建了mysql組及mysql用戶,一些操作系統在安裝時會預創建mysql組及mysql用戶,如果你的操作系統上沒有創建這些,那么通過如下步驟創建mysql組及mysql用戶。

shell> groupadd mysql

shell> useradd -g mysql -s /bin/false mysql

2)在本地操作系統下載mysql軟件目錄中,解壓安裝軟件,並移動到/usr/local/目錄下,根據需要是否使用軟連接(ln -s)。

shell> cd /mnt

shell> tar -C /usr/local -xzvf mysql-cluster-gpl-7.4.13-linux-glibc2.5-x86_64.tar.gz

shell> ln -s /usr/local/mysql-cluster-gpl-7.4.13-linux-glibc2.5-x86_64 /usr/local/mysql

3)進入到本地的mysql安裝目錄,並且通過mysqld --initialize命令初始化mysql系統數據庫。

shell> cd mysql

shell> mysqld --initialize

當然,你也可以進入mysql安裝目錄,通過mysql_install_db命令初始化mysql系統數據庫。

shell> cd mysql

shell> scripts/mysql_install_db --user=mysql

然而,這種方式是不推薦使用的,因為mysql_install_db將被棄用在以后的版本中。

4)為mysql服務器和data目錄設置必要的權限。

shell> chown -R root .

shell> chown -R mysql data

shell> chgrp -R mysql .

5)copy mysql啟動腳本到/etc/rc.d/init.d/下,並且設置可執行文件,然后通過chkconfig命令添加為服務。

shell> cp support-files/mysql.server /etc/rc.d/init.d/

shell> chmod +x /etc/rc.d/init.d/mysql.server

shell> chkconfig --add mysql.server

記住,必須在每一台SQL節點上執行以上步驟。

2、data節點安裝:

安裝data節點不需要mysql二進制文件,僅需要在NDB cluster的data節點執行ndbd(single-treaded) or ndbmtd(multi-threaded),mysql二進制安裝文件也包含在以上的tar包中。

以root用戶登錄操作系統,執行以下步驟安裝data 節點在每一台data 節點服務器上。

1)進入到mysql下載目錄下,並且抓取這個ndbd和ndbmtd二進制文件到/usr/local/bin/目錄下,

shell> cd /mnt

shell> tar -zxvf mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23.tar.gz

shell> cd mysql-5.7.17-ndb-7.5.6-linux-i686-glibc23

shell> cp bin/ndbd /usr/local/bin/ndbd

shell> cp bin/ndbmtd /usr/local/bin/ndbmtd

在ndbd和ndbdmtd已經復制到/usr/local/bin/下后,你也可以刪除mysql解壓目錄和下載文件,並且這是非常安全的。

2)進入到/ust/local/bin/目錄下,將步驟1 copy的ndbd和ndbmtd文件設置為可執行文件。

shell> cd /usr/local/bin

shell> chmod +x ndb*

執行以上這些步驟在每一台data節點服務器上。

3、Management 節點安裝:

安裝管理節點不需要mysql二進制文件,僅需要安裝NDB cluster management server (ndb_mgmd),並且你可能還想安裝management client (ndb_mgm),所有的這些都可以在tar包中發現。

以root用戶身份登錄操作系統,執行安裝ndb_mgmdndb_mgm命令在management節點服務器上。

1)進入到mysql解壓目錄,抓取ndb_mgmd和ndb_mgm二進制文件copy到/usr/local/bin/目錄下。

shell> cd /var/tmp

shell> tar -zxvf mysql-5.7.17-ndb-7.5.6-linux2.6-i686.tar.gz

shell> cd mysql-5.7.17-ndb-7.5.6-linux2.6-i686

shell> cp bin/ndb_mgm* /usr/local/bin

你也可以刪除mysql解壓目錄和下載文件,並且這是非常安全的。

2)進入到/ust/local/bin/目錄下,將步驟1 copy的ndb_mgmd和ndb_mgm文件設置為可執行文件。

shell> cd /usr/local/bin

shell> chmod +x ndb_mgm*

三、配置NDB Cluster

這里描述如何通過最小化配置部署一個NDB cluster集群。

說明:每一個data節點和SQL節點需要配置一個my.cnf文件,並且提供兩個選項的說明:其中一個告訴哪里可以找到management節點;另一個告訴mysql 服務器這個主機是否啟動NDB Cluster存儲引擎。

管理節點需要配置一個congin.ini的配置文件,它描述了集群存在幾個副本,在每一個節點為數據和索引各分配多少內存,數據節點在哪里,每一個數據節點中在磁盤的哪里保存數據,以及存在哪些SQL節點。

1、配置數據節點和SQL節點

數據節點和SQL節點在my.cnf文件所需要的配置相當簡單,並且這個文件應該放在/etc/目錄下,可以通過任何編輯器對其進行編輯,例如:

shell> vi /etc/my.cnf

每個數據節點和SQL節點配置可以參考如下內容:

[mysqld]

# Options for mysqld process:

ndbcluster                      # run NDB storage engine

[mysql_cluster]

# Options for NDB Cluster  processes:

ndb-connectstring=192.168.0.10  # location of management server

本例中每個sql節點和data節點/etc/my.cnf示例配置如下:

[mysqld]

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

user=mysql

log-error=/usr/local/mysql/data/sqlnode.err

ndbcluster

ndb-connectstring=db01

[mysql_cluster]

ndb-connectstring=db01

2、配置管理節點

配置管理節點的第一步是創建目錄和創建配置文件本身(以root用戶身份執行)。

shell> mkdir /var/lib/mysql-cluster

shell> cd /var/lib/mysql-cluster

shell> vi config.ini

管理節點的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

                  # For DataMemory and IndexMemory, we have used the

                  # default values. Since the "world" database takes up

                  # only about 500KB, this should be more than enough for

                  # this example Cluster setup.

[tcp default]

# TCP/IP options:

portnumber=2202   # This the default; however, you can use any

                  # port that is free for all the hosts in the cluster

                  # Note: It is recommended that you do not specify the port

                  # number at all and simply allow the default value to be used

                  # instead

[ndb_mgmd]

# Management process options:

hostname=192.168.0.10           # Hostname or IP address of MGM node

datadir=/var/lib/mysql-cluster  # Directory for MGM node log files

[ndbd]

# Options for data node "A":

                                # (one [ndbd] section per data node)

hostname=192.168.0.30           # Hostname or IP address

datadir=/usr/local/mysql/data   # Directory for this data node's data files

[ndbd]

# Options for data node "B":

hostname=192.168.0.40           # Hostname or IP address

datadir=/usr/local/mysql/data   # Directory for this data node's data files

[mysqld]

# SQL node options:

hostname=192.168.0.20           # Hostname or IP address

                                # (additional mysqld connections can be

                                # specified for this node for various

                                # purposes such as running ndb_restore)

本例中管理節點config.ini文件內容如下:

[ndbd default]

NoOfReplicas=1

DataMemory=100M

IndexMemory=80M

[tcp default]

portnumber=2202

[ndb_mgmd]

hostname=db01

datadir=/var/lib/mysql-cluster

[ndbd]

hostname=db04

datadir=/usr/local/mysql/data

[ndbd]

hostname=db05

datadir=/usr/local/mysql/data

[mysqld]

hostname=db02

[mysqld]

hostname=db03

說明:mysql cluster默認管理節點端口號是1186,;默認數據節點端口號是2202;然而,集群可以自動獲得端口為哪些自由的數據節點。

四、啟動集群

在成功配置后啟動集群並不是很困難,每個解決節點必須分別被啟動,首先啟動管理節點,其次啟動數據節點,最后再啟動SQL節點。

1、在管理節點主機上,在shell中輸入如下內容用於啟動管理節點:

shell> ndb_mgmd -f /var/lib/mysql-cluster/config.ini

2、在每一個數據節點上,shell下運行ndbd命令用於啟動數據節點:

shell> ndbd

3、在每一個sql節點上,通過mysql啟動命令啟動SQL節點:

shell>service mysqld start

如果一切順利,集群可以正確啟動,現在你可以進行一些測試操作。你可以使用管理節點客戶端測試工具ndb_mgm,輸出當前的集群配置信息及運行狀態。

ndb_mgm> show

Connected to Management Server at: localhost:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=2 @192.168.100.234  (mysql-5.6.34 ndb-7.4.13, Nodegroup: 0, *)

id=3 @192.168.100.235  (mysql-5.6.34 ndb-7.4.13, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.100.231  (mysql-5.6.34 ndb-7.4.13)

[mysqld(API)] 2 node(s)

id=4 @192.168.100.232  (mysql-5.6.34 ndb-7.4.13)

id=5 @192.168.100.233  (mysql-5.6.34 ndb-7.4.13)

五、關閉集群

想要關閉集群,在管理節點主機的shell下輸入如下命令:

shell> ndb_mgm -e shutdown

這個-e命令可以安全的kill掉運行 ndb_mgm, ndb_mgmdndbd 或者 ndbmtd的進程。

如果想要關閉sql節點,應該使用mysql停止服務方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM