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”启动
环境规划
管理节点(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/
下载MySQL Cluster,选择版本为Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle
使用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
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
管理节点
安装管理节点
rpm -ivh mysql-cluster-community-management-server-7.6.7-1.el7.x86_64.rpm
验证安装
find / -name mysql
配置管理节点
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
#如果启动管理服务,还想在启动后添加了一个新的数据节点,这时必须加上--initial参数,不然添加的节点不会作用在mysql cluster中,如果日后再次修改config.ini文件,还是要加上--initial参数
再次执行ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
关闭进程
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
验证端口开放
netstat -lntpu
看到tcp 0 0 0.0.0.0:1186开放,说明正常开启了管理节点服务器的1186端口
数据节点(两个节点)
安装数据节点
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 #群集管理器位置
启动数据节点
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
SQL节点(两个节点)
安装SQL节点
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节点
service mysqld start
查看端口
netstat -atln
3306端口已经监听.说明启动成功
测试
ndb_mgm ndb_mgm> show
ndb_mgm -e "all status" ndb_mgm -e "all report memory"
本站所有文章均可随意转载,转载时请保留原文链接及作者。