MySQL
常用语句
用户相关\管理相关\数据相关
视图\事件\存储过程\函数\游标\触发器
事务\分区
常用工具
管理优化
锁问题
MySQL日志
异步复制
半同步复制
复制管理
5.7开启并行复制
双主备份
故障问题
索引
时区
表的导出导入
MySQLdump逻辑备份
XtraBackup全备
XtraBackup增备
XtraBackup原表数据恢复
安装MySQL
ProxySQL中间件
Atlas中间件
keepalived安装
MHA安装
MHA恢复
mha复制检查报错及解决过程
集群Cluster安装
维护Cluster
开启审计功能
本文档使用MrDoc发布
返回首页
-
+
集群Cluster安装
2020年4月27日 15:08
admin
#简介 >##mysql集群的是三种节点: >####管理节点 管理节点主要是用来对其他的节点进行管理。通常通过配置config.ini文件来配置集群中有多少需要维护的副本、配置每个数据节点上为数据和索引分配多少内存、IP地址、以及在每个数据节点上保存数据的磁盘路径; -------------------------------------------------------- 管理节点通常管理Cluster配置文件和Cluster日志。Cluster中的每个节点从管理服务器检索配置信息,并请求确定管理服务器所在位置的方式。如果节点内出现新的事件的时候,节点将这类事件的信息传输到管理服务器,将这类信息写入到Cluster日志中; -------------------------------------------------------- 一般在MySQL Cluster体系中至少需要一个管理节点,另外值得注意的是,因为数据节点和SQL节点在启动之前需要读取Cluster的配置信息,所以通常管理节点是最先启动的; >####SQL节点 SQL节点简单地讲就是mysqld服务器,应用不能直接访问数据节点,只能通过SQL节点访问数据节点来返回数据。任何一个SQL节点都是连接到所有的存储节点的,所以当人任何一个存储节点发生故障的时候,SQL节点都可以把请求转移到另一个存储节点执行。通常来讲,SQL节点越多越好,SQL节点越多,分配到每个SQL节点的负载就越小,系统的整体性能就越好; >####数据节点 数据节点用来存放Cluster里面的数据,MySQL Cluster在各个数据节点之间复制数据,任何一个节点发生了故障,始终会有另外的数据节点存储数据; >![](/media//202004/2020-04-27204650231300.png) >####注意: 通常这3种不同逻辑的节点可以分布在不同的计算机上面,也可以在同一台服务器上。集群最少有3台计算机,为了保证能够正常维护集群服务,通常将管理节点放在一个单独的主机上; #安装 >####下载地址:https://dev.mysql.com/downloads/cluster/7.6.html >##安装管理节点 >####解压mysql-cluster安装包 tar -zxvf mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64.tar.gz mv mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64 /usr/local/mysql-cluster >####创建配置文件 vim /usr/local/mysql-cluster/config.ini [ndbd default] NoOfReplicas=2 #数据节点需是此值的倍数 DataMemory=512M IndexMemory=18M [ndb_mgmd] HostName=192.168.31.88 DataDir=/usr/local/mysql-cluster [ndbd] HostName=192.168.31.88 DataDir=/usr/local/mysql-cluster [ndbd] HostName=192.168.31.146 DataDir=/usr/local/mysql-cluster [mysqld] HostName=192.168.31.88 [mysqld] HostName=192.168.31.146 >####添加环境变量 echo "export PATH=$PATH:/usr/local/mysql-cluster/bin" >> /etc/profile source /etc/profile >####使用配置文件初始化管理节点 /usr/local/mysql-cluster/bin/ndb_mgmd -f /usr/local/mysql-cluster/config.ini --initial #注意(首次启动才需要加 --initial后面启动去掉--initial即可) 管理节点关闭命令:ndb_mgm -e shutdown 查看状态:ndb_mgm-e status 查看状态:ndb_mgm-e show >![](/media//202004/2020-04-27201753827379.png) --- >##安装数据节点 >####解压mysql-cluster安装包 tar -zxvf mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64.tar.gz mv mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64 /usr/local/mysql-cluster >####创建配置文件(/etc/my.cnf) [mysqld] ndbcluster #使用ndb集群引擎 ndb-connectstring=192.168.31.88 default-storage-engine=ndbcluster #设置默认引擎,只有该引擎的表数据才能保存到数据节点中 [mysql_cluster] ndb-connectstring=192.168.31.88 >####3.启动ndbd(数据节点) ndbd --initial >![](/media//202004/2020-04-27213426564164.png) >![](/media//202004/2020-04-27213625064512.png) --- >##安装SQL节点 >####1.解压mysql-cluster安装包 tar -zxvf mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64.tar.gz mv mysql-cluster-gpl-7.6.13-linux-glibc2.12-x86_64 /usr/local/mysql-cluster >####2.要先安装mysql,需用mysql-cluster包来初始化实例,注意使用二进制安装法:[安装教程](http://baodoc.frp.bao-server.club:22080/project/10/235/ "安装教程") >####3.修改配置文件(/etc/my.cnf) #主要比普通my.cnf多如下配置项 [mysqld] ndbcluster #使用ndb集群引擎 ndb-connectstring=192.168.31.88 default-storage-engine=ndbcluster #设置默认引擎,只有该引擎的表数据才能保存到数据节点中 [mysql_cluster] ndb-connectstring=192.168.31.88 >####4.启动mysql(SQL节点) systemctl restart mysql >![](/media//202004/2020-04-27213535960409.png)
分享到: