1、安装前规划
CentOS7内核版本
3.10.0-693.2.2.el7.x86_64
2、对应主机host地址&节点角色
三台主机hosts文件要保持一致
IP | 主机名 | 作用 |
111.111.111.111 | server111-111 | 管理节点(MGM)、 数据节点(NDB)、SQL节点 |
111.111.111.112 | server111-112 | 数据节点(NDB)、SQL节点 |
111.111.111.113 | Server111-113 | 数据节点(NDB)、SQL节点 |
mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz
下载地址:https://cdn.mysql.com//Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz
二、正式安装
2.1、管理节点(111.111.111.111):
下载:
https://dev.mysql.com/downloads/cluster/(官网:选择linux-generic)
下载文件mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz,地址:
https://cdn.mysql.com//Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz
安装:
a. 解压:
tar -xzf mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz
b. 移动 & 添加环境变量:
mv mysql-cluster-gpl-7.5.15-el7-x86_64 /usr/local/mysql
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /root/.bash_profile
c. 创建文件夹:
mkdir /data_ndb
d. 创建配置文件:
vim /usr/local/mysql-cluster/config.ini
[tcp default] SendBufferMemory=2M ReceiveBufferMemory=2M
[ndbd default] NoOfReplicas=3 #每个数据节点的镜像数量,通常最低设置为2,否则就没有意义了 DataMemory=30720M #每个数据节点中给数据分配的内存, IndexMemory=10240M #每个数据节点中给索引分配的内存 ,7.6版本中的已经改名了
MaxNoOfOrderedIndexes=40000 MaxNoOfUniqueHashIndexes=40000 MaxNoOfAttributes=40000
MaxNoOfConcurrentOperations=15000000 MaxNoOfLocalOperations=20000000 MaxNoOfConcurrentTransactions=160000 TransactionDeadLockDetectionTimeOut=50000 #这是毫秒单位,相当于50秒
MaxNoOfTables=10240 #FragmentLogFileSize=512M NoOfFragmentLogFiles=300
[ndb_mgmd] NodeId=1 HostName=111.111.111.111 #管理节点ip DataDir=/var/lib/mysql-cluster #管理节点数据目录,存放相关日志,以及pid文件
[ndbd] NodeId=2 HostName=111.111.111.111 #数据节点ip地址 DataDir=/data_ndb/ #NDB点数据存放目录
[ndbd] NodeId=3 HostName=111.111.111.112 #数据节点ip地址 DataDir=/data_ndb/ #NDB点数据存放目录
[ndbd] NodeId=4 HostName=111.111.111.113 #数据节点ip地址 DataDir=/data_ndb/ #NDB点数据存放目录
[mysqld] NodeId=5 HostName=111.111.111.111 #SQL节点ip地址
[mysqld] NodeId=6 HostName=111.111.111.112 #SQL节点ip地址
[mysqld] NodeId=7 HostName=111.111.111.113 #SQL节点ip地址
[mysqld] |
e. 启动:
ndb_mgmd -f /usr/local/mysql-cluster/config.ini --initial
注意:
仅首次启动时需要添加“--initial”属性,否则禁止使用。
f. 查看状态:
/usr/local/mysql/bin/ndb_mgm -e show
g. 停止命令:
/usr/local/mysql/bin/ndb_mgm -e shutdown
2.2、数据节点 & sql节点(111.111.111.111,111.111.111.112,111.111.111.113):
2.2.1下载软件与准备工作:
https://dev.mysql.com/downloads/cluster/(官网:选择linux-generic)
或
https://github.com/dollarphper/soft/blob/master/mysql/mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz
安装:
a. 解压:
tar -xzf mysql-cluster-gpl-7.5.15-el7-x86_64.tar.gz
b. 移动:
mv mysql-cluster-gpl-7.5.15-el7-x86_64 /usr/local/mysql
c. 创建数据存储文件夹:
mkdir /data_ndb
d. 创建配置文件
vim /usr/local/mysql/my.cnf:
[mysqld] datadir=/data_ndb/ basedir= /usr/local/mysql ndbcluster # 运行NDB存储引擎 ndb-connectstring=111.111.111.111 # 管理节点
[mysql_cluster] ndb-connectstring=111.111.111.111 #管理节点 |
2.2.2 软件初始化
- 启动sql节点
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data_ndb/ && service mysql start
# mysql开启自启设置 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql |
Mysql安装完毕后,打印如下日志,日志中将显示临时初始密码:
[root@server111-112 /]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data_ndb/ && service mysql start 2019-10-01T02:48:18.668406Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2019-10-01T02:48:18.825310Z 0 [Warning] InnoDB: New log files created, LSN=45790 2019-10-01T02:48:18.862655Z 0 [Warning] InnoDB: Creating foreign key constraint system tables. 2019-10-01T02:48:18.918167Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: ecb35e1b-e3f5-11e9-b1ec-801844e0be40. 2019-10-01T02:48:18.918708Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened. 2019-10-01T02:48:18.919504Z 1 [Note] A temporary password is generated for root@localhost: eqlU*ho#3dTi |
修改root临时密码,并赋予远程访问权限:
alter user root@localhost identified by 'aidwdata@ndb'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'aidwdata@ndb'; flush privileges; |
- 启动数据节点:
ndbd --initial |
三、测试(111.111.111.111)
执行命令:
/usr/local/mysql/bin/ndb_mgm -e show
效果:
[root@server111-111 bin]# /usr/local/mysql/bin/ndb_mgm -e show
Connected to Management Server at: 111.111.111.111:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 3 node(s)
id=2 @111.111.111.111 (mysql-5.7.27 ndb-7.5.15, Nodegroup: 0, *)
id=3 @111.111.111.112 (mysql-5.7.27 ndb-7.5.15, Nodegroup: 0)
id=4 @111.111.111.113 (mysql-5.7.27 ndb-7.5.15, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @111.111.111.111 (mysql-5.7.27 ndb-7.5.15)
[mysqld(API)] 4 node(s)
id=5 (not connected, accepting connect from 111.111.111.111)
id=6 @111.111.111.111 (mysql-5.7.27 ndb-7.5.15)
id=7 @111.111.111.112 (mysql-5.7.27 ndb-7.5.15)
id=8 @111.111.111.113 (mysql-5.7.27 ndb-7.5.15)
四、Q&A
Q1、数据节点、sql节点是否可以安装在管理节点上:
A: 一般不建议这样安装(除非机器资源不足),管理节点独自使用一台server,否则会报如下警告:
[root@server111-111 data_ndb]# ndb_mgmd -f /usr/local/mysql-cluster/config.ini --initial
MySQL Cluster Management Server mysql-5.7.27 ndb-7.5.15
2019-09-29 17:31:59 [MgmtSrvr] WARNING -- at line 61: Cluster configuration warning:
arbitrator with id 1 and db node with id 2 on same host 111.111.111.111
Running arbitrator on the same host as a database node may
cause complete cluster shutdown in case of host failure.
参考列表: