mysql cluster7.5集群安装指南
发布时间:2022-10-13 10:47:33 所属栏目:MySql教程 来源:
导读: 关于mysqlcluster的安装,网上文章良莠不济,大多数都是错误的过时的.
由于项目需要搭建一个mysql集群,最后选定了 mysql cluster7.5
期间踩了各种坑,最后才在mysqlcluster的官网上熟读了官网文档后
由于项目需要搭建一个mysql集群,最后选定了 mysql cluster7.5
期间踩了各种坑,最后才在mysqlcluster的官网上熟读了官网文档后
关于mysqlcluster的安装,网上文章良莠不济,大多数都是错误的过时的. 由于项目需要搭建一个mysql集群,最后选定了 mysql cluster7.5 期间踩了各种坑,最后才在mysqlcluster的官网上熟读了官网文档后才搭建完成,投入使用. 最后总结出此文帮助后来者少踩坑.另外学习一门新知识最好去它的官网,少踩坑. 参考资料: mysqlcluster官网 ???mysql cluster搭建?? 概念 MySQL Cluster是基于无共享的可由多台服务器组成的、同时对外提供数据管理服务的分布式集群系统。通过合理的配置,可以将服务请求在多台物理机上分发实现负载均衡 ;同时内部实现了冗余机制,在部分服务器宕机的情况下,整个集群对外提供的服务不受影响,从而能达到99.999%以上的高可用性。 MySQL Cluster设计之初出于性能考虑,将数据完全存放在内存当中,因此MySQL Cluster可以当作一种分布式的内存数据库。随着MySQL Cluster技术的成熟和需求的增加,目前MySQL Cluster已支持磁盘存储,可以指定数据表存储在磁盘上,减少MySQL Cluster集群对内存的需求,从而实现存储更大的容量。 mysql cluster7.5集群安装指南_mysql集群 MySQL从结构看,由3类节点(计算机或进程)组成,分别是: 管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。 配置文件为: config.ini数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。 配置文件为:my.iniSQL节点:这是用来访问 Cluster数据的节点。对于MySQL Clustermysql集群,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令“mysqld –ndbcluster”启动的,或将“ndbcluster”添加到“my.cnf”后使用“mysqld”启动。 配置文件为:my.ini “MySQL实验室”推荐使用MySQL Cluster 7.x版本。MySQL Cluster 7.x拥有在线增加节点、多线程等新特性。 工作原理 管理服务器(MGM节点)负责管理 Cluster配置文件和 Cluster日志。 Cluster中的每个节点从管理服务器检索配置数据,并请求确定管理服务器所在位置的方式。当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器,然后,将这类信息写入 Cluster日志。 ??安装?? 节点说明: mysql cluster7.5集群安装指南_mysql集群_02 表21.4示例群集中节点的网络地址 节点 IP地址 管理节点(mgmd) 198.51.100.10 SQL节点(mysqld) 198.51.100.20 数据节点“A”(ndbd) 198.51.100.30 数据节点“B”(ndbd) 198.51.100.40 每个NDB群集主机必须安装正确的可执行程序。 运行SQL节点的主机必须在其上安装MySQL服务器二进制文件(mysqld)。管理节点需要管理服务器守护进程(ndb_mgmd);数据节点需要数据节点守护进程(ndbd或ndbmtd)。 没有必要在管理节点主机和数据节点主机上安装MySQL服务器二进制文件。建议您还在管理服务器主机上安装管理客户端(ndb_mgm)。 1.在Linux上安装NDB集群二进制文件(tar.gz文件) 在Linux上安装NDB集群可以使用Oracle的预编译二进制文件(作为.tar.gz压缩文件下载),RPM软件包(也可从Oracle获得)或源代码完成 参考: ??在Linux上安装NDB群集二进制版本??(用google chrome 打开翻译该页面) 按照上面安装完成后,接下来开始下一步:配置 2.??NDB集群的初始配置??每个数据节点或SQL节点都需要一个my.cnf文件,该 文件提供两条信息:一个连接字符串,告诉节点在哪里找到管理节点,另一条是告诉该主机上的MySQL服务器(托管数据节点的机器)以启用该 NDBCLUSTER存储引擎。管理节点需要一个config.ini 文件,告诉它要维护多少副本,为每个数据节点上的数据和索引分配多少内存,在哪里找到数据节点,在每个数据节点上将数据保存到磁盘的位置以及在哪里查找任何SQL节点。配置数据节点和SQL节点。 my.cnf数据节点所需 的文件非常简单。配置文件应该位于/etc目录中,并且可以使用任何文本编辑器进行编辑。(如果该文件不存在,则创建该文件。) 对于我们示例设置中的每个数据节点和SQL节点, my.cnf应该如下所示: [mysqld] # Options for mysqld process: ndbcluster # run NDB storage engine [mysql_cluster] # Options for NDB Cluster processes: ndb-connectstring=198.51.100.10 输入上述信息后,保存该文件并退出文本编辑器。为托管数据节点“ A ”,数据节点“ B ”和SQL节点的计算机执行此操作 配置管理节点。 配置管理节点的第一步是创建可以找到配置文件的目录,然后创建文件本身。 cd /var/lib/mysql-cluster shell> vi config.ini ``` 对于我们的代表设置,该config.ini 文件应该如下所示: ```bash [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 NDB Cluster setup. ServerPort=2202 # This the default value; however, you can use any # port that is free for all the hosts in the cluster # Note1: It is recommended that you do not specify the port # number at all and simply allow the default value to be used # instead # Note2: The port was formerly specified using the PortNumber # TCP parameter; this parameter is no longer available in NDB # Cluster 7.5. [ndb_mgmd] # Management process options: HostName=198.51.100.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=198.51.100.30 # Hostname or IP address NodeId=2 # Node ID for this data node DataDir=/usr/local/mysql/data # Directory for this data node's data files [ndbd] # Options for data node "B": HostName=198.51.100.40 # Hostname or IP address NodeId=3 # Node ID for this data node DataDir=/usr/local/mysql/data # Directory for this data node's data files [mysqld] # SQL node options: HostName=198.51.100.20 # Hostname or IP address # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore) 在创建了所有配置文件并指定了这些最小选项后,即可开始启动群集并验证所有进程正在运行。 3 ??NDB集群的初始启动?? 配置完成后启动集群并不是非常困难。每个群集节点进程必须分别启动,并在其所在的主机上启动。应首先启动管理节点,然后启动数据节点,最后启动任何SQL节点 在管理主机上 从系统shell发出以下命令以启动管理节点进程: shell> ndb_mgmd -f 首次启动时, 必须使用 ??-f?? 选项告知ndb_mgmd在哪里查找其配置文件 。 -f–config-file 在每个数据节点主机上 运行以下命令启动 ndbd进程: shell> ndbd 在每个sql节点上启动mysql shell> service mysql start 或者 shell> mysqld_safe & 注意此步骤不需要单独安装 mysql,如果你启动不了,查看是否之前在第一步安装时已经把mysql.server 加到服务里面 最后 如果一切顺利,并且集群已正确设置,则集群现在应该可以运行。您可以通过调用ndb_mgm管理节点客户端来进行测试。输出结果应该如下所示,尽管您可能会在输出中看到一些细微差异,具体取决于您使用的MySQL的确切版本: shell> ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> SHOW Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @198.51.100.30 (Version: 5.7.21-ndb-7.5.10, Nodegroup: 0, *) id=3 @198.51.100.40 (Version: 5.7.21-ndb-7.5.10, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @198.51.100.10 (Version: 5.7.21-ndb-7.5.10) [mysqld(API)] 1 node(s) id=4 @198.51.100.20 (Version: 5.7.21-ndb-7.5.10) 此处引用SQL节点 [mysqld(API)],它反映了mysqld进程充当NDB集群API节点的事实 。 您现在应该准备好使用NDB群集中的数据库,表格和数据. (编辑:百客网 - 百科网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐