CentOS7.5 安装MySQL ndb集群 RPM方式

当企业的MySQL业务到达一定的当量,就需要一定规模数量的MySQL数据库来负载均衡数据库请求,负载均衡的前提是每个服务器的数据库是数据同步的,在业务量不大的时候会使用主、从复制的方法实现服务器数据同步,一主多从或者是双主等。虽然数据库默认进行了读写分离,对于读的性能限制还是有影响,数据库集群就是为了解决数据同步的问题,从而使用MySQL官网提供的mysql-cluster实现集群,MySQL-cluster安装包中已经包含了MySQL数据库,所以不需要使用别的MySQL的安装包安装数据库。MySQL-cluster与非集群时用的MySQL-server与MySQL-client没有任何关系,启动MySQL也是启动MySQL-cluster中的MySQL,与原先的MySQL-server没有任何关系。


MySQL Cluster中的角色

1、管理节点(mgmd):mysql集群管理节点负责管理、配置、监控整个集群。使用命令“ndb_mgmd”启动

2、数据节点(nddb):使用内存存放集群的数据,保存进数据节点的数据都会自动复制并存储到其他数据节点。使用命令“ndbd”启动

3、SQL节点(mysqld),也叫数据库节点,是客户端访问数据的接口,负责执行SQL命令,作为数据库使用,被数据节点访问。使用命令“service mysqld start”启动


环境规划 

CentOS7.5 安装MySQL ndb集群 RPM方式

管理节点(mgm):192.168.1.109

数据节点1(nddb1):192.168.1.110

数据节点2(nddb2):192.168.1.111

sql节点1(mysqld1):192.168.1.119

sql节点2(mysqld2):192.168.1.120


前期准备(所有节点)

https://dev.mysql.com/downloads/cluster/

CentOS7.5 安装MySQL ndb集群 RPM方式

下载MySQL Cluster,选择版本为Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle


CentOS7.5 安装MySQL ndb集群 RPM方式

使用WINSCP将下载的mysql-cluster-community-7.6.7-1.el7.x86_64.rpm-bundle.tar传入所有节点/root目录中并解压

tar -xvf mysql-cluster-community-7.6.7-1.el7.x86_64.rpm-bundle.tar


CentOS7.5 安装MySQL ndb集群 RPM方式

ls -lah *.rpm


关闭selinux
setenforce 0 
sed 's/SELINUX=.*/SELINUX=disabled/g' -i /etc/selinux/config

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

分别更改每个计算机名
hostnamectl set-hostname mgm
hostnamectl set-hostname nddb1
hostnamectl set-hostname nddb2
hostnamectl set-hostname mysqld1
hostnamectl set-hostname mysqld2

安装和拆卸组件
yum -y remove mariadb-libs
yum -y install perl perl-Data-Dumper perl-DBI epel-release net-tools
yum -y install perl-Class-MethodMaker

#如果服务器上存在原mysql环境必须拆卸干净
#卸载mysql软件  
#yum remove mysql

#检查系统中已经安装过的mysql信息  
#service mysql status

#查看系统中mysql软件
#rpm -qa | grep mysql再rpm -e mysql名称

#关闭mysql服务  
#/etc/init.d/mysqld stop 

#杀掉mysql进程  ps -ef | grep mysql再kill -9 mysql端口号
#rpm -e --allmatches --nodeps mysql mysql-server

#删除mysql安装目录管理节点  
rm -rf /var/lib/mysql

CentOS7.5 安装MySQL ndb集群 RPM方式


管理节点

安装管理节点

CentOS7.5 安装MySQL ndb集群 RPM方式

rpm -ivh mysql-cluster-community-management-server-7.6.7-1.el7.x86_64.rpm


验证安装

find / -name mysql

CentOS7.5 安装MySQL ndb集群 RPM方式


配置管理节点

mkdir /var/lib/mysql-cluster
vi /var/lib/mysql-cluster/config.ini
 添加
[ndbd default]
#影响所有数据节点上NDBD进程的选项
NoOfReplicas=2  

[ndb_mgmd]
#管理节点服务器选项
hostname=192.168.1.109     #管理节点地址
datadir=/var/lib/mysql-cluster  #管理节点日志目录

[ndbd]
#数据节点服务器1选项
hostname=192.168.1.110 #数据节点服务器1地址
NodeId=2               #节点号
datadir=/usr/local/mysql/data   #数据文件的远程目录

[ndbd]
#数据节点服务器2选项
hostname=192.168.1.111 #数据节点服务器2地址
NodeId=3               #节点号
datadir=/usr/local/mysql/data   #数据文件的远程目录

[mysqld]
#SQL节点服务器1选项
hostname=192.168.1.119 #SQL节点服务器1地址

[mysqld]
#SQL节点服务器2选项
hostname=192.168.1.120 #SQL节点服务器1地址


启动管理节点

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

CentOS7.5 安装MySQL ndb集群 RPM方式

#如果启动管理服务,还想在启动后添加了一个新的数据节点,这时必须加上--initial参数,不然添加的节点不会作用在mysql cluster中,如果日后再次修改config.ini文件,还是要加上--initial参数

再次执行ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

CentOS7.5 安装MySQL ndb集群 RPM方式


关闭进程

pkill -f ndb_mgmd


创建服务

vi /etc/systemd/system/ndb_mgmd.service
添加
[Unit]
Description=MySQL NDB Cluster Management Server
After=network.target auditd.service

[Service]
Type=forking
ExecStart=/usr/sbin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target


设置自启

systemctl daemon-reload
systemctl enable ndb_mgmd
systemctl start ndb_mgmd
systemctl status ndb_mgmd

CentOS7.5 安装MySQL ndb集群 RPM方式


验证端口开放

netstat -lntpu

CentOS7.5 安装MySQL ndb集群 RPM方式

看到tcp 0 0 0.0.0.0:1186开放,说明正常开启了管理节点服务器的1186端口 


数据节点(两个节点)

安装数据节点

CentOS7.5 安装MySQL ndb集群 RPM方式

rpm -ivh mysql-cluster-community-data-node-7.6.7-1.el7.x86_64.rpm


配置数据节点

vi /etc/my.cnf
 添加
[mysql_cluster]
#NDB集群进程选项
ndb-connectstring=192.168.1.109  #群集管理器位置


启动数据节点

CentOS7.5 安装MySQL ndb集群 RPM方式

mkdir -p /usr/local/mysql/data
ndbd --initial

#只是在第一次启动或在备份、恢复或配置变化后重启ndbd时,才加–initial参数


关闭进程

pkill -f ndbd


创建服务

vi /etc/systemd/system/ndbd.service
增加
[Unit]
Description=MySQL NDB Data Node Daemon
After=network.target auditd.service

[Service]
Type=forking
ExecStart=/usr/sbin/ndbd
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target


设置自启

systemctl daemon-reload
systemctl enable ndbd
systemctl start ndbd
systemctl status ndbd

CentOS7.5 安装MySQL ndb集群 RPM方式


SQL节点(两个节点)

安装SQL节点

CentOS7.5 安装MySQL ndb集群 RPM方式

rpm -ivh mysql-cluster-community-common-7.6.7-1.el7.x86_64.rpm
rpm -ivh mysql-cluster-community-libs-7.6.7-1.el7.x86_64.rpm
rpm -ivh mysql-cluster-community-client-7.6.7-1.el7.x86_64.rpm
rpm -ivh mysql-cluster-community-server-7.6.7-1.el7.x86_64.rpm

配置SQL节点

vi /etc/my.cnf
 添加
ndbcluster
ndb-connectstring=192.168.1.109
[ndbd]
connect-string=192.168.1.109
[mysql_cluster]
ndb-connectstring=192.168.1.109
[ndb_mgm]
connect-string=192.168.1.109
[ndbd_mgmd]
config-file=/var/lib/mysql-cluster/config.ini

启动SQL节点

CentOS7.5 安装MySQL ndb集群 RPM方式

service mysqld start

查看端口

netstat -atln

CentOS7.5 安装MySQL ndb集群 RPM方式

3306端口已经监听.说明启动成功


测试

ndb_mgm
ndb_mgm> show

CentOS7.5 安装MySQL ndb集群 RPM方式


ndb_mgm -e "all status"
ndb_mgm -e "all report memory"

CentOS7.5 安装MySQL ndb集群 RPM方式


更新日期: 2018年09月30日
文章标签: LinuxMySQL
文章链接: https://www.vos.cn/db/232.html  
版权说明:如非注明,本站文章均为vOS原创,转载请注明出处和附带本文链接。