java mysql 配置 集群 mysql 集群部署

  ??MySQL Cluster简单地讲是一种MySQL集群的技术,是由一组计算机构成,每台计算机可以存放一个或者多个节点,其中包括MySQL服务器,DNB Cluster的数据节点,管理其他节点,以及专门的数据访问程序,这些节点组合在一起,就可以为应用提高可高性能、高可用性和可缩放性的Cluster数据管理

  ??应用通常使用一定的负载均衡算法将对数据访问分散到不同的SQL节点,SQL节点对数据节点进行数据访问并从数据节点返回数据结果,管理节点仅仅只是对SQL节点和数据节点进行配置管理。MySQL NDB Cluster架构如图如下:

  java mysql 配置 集群 mysql 集群部署_linux

  3.1.管理节点:

  ??管理节点主要是用来对其他的节点进行管理。通常通过配置config.ini文件来配置集群中有多少需要维护的副本、配置每个数据节点上为数据和索引分配多少内存、IP地址、以及在每个数据节点上保存数据的磁盘路径;

  ??管理节点通常管理Cluster配置文件和Cluster日志。Cluster中的每个节点从管理服务器检索配置信息,并请求确定管理服务器所在位置的方式。如果节点内出现新的事件的时候,节点将这类事件的信息传输到管理服务器,将这类信息写入到Cluster日志中;

  一般在MySQL Cluster体系中至少需要一个管理节点,另外值得注意的是,因为数据节点和SQL节点在启动之前需要读取Cluster的配置信息,所以通常管理节点是最先启动的;

  3.2.SQL节点:

  ??SQL节点可以理解为应用程序和数据节点的一个桥梁,简单地讲就是mysqld服务器,应用不能直接访问数据节点,只能通过SQL节点访问数据节点来返回数据。任何一个SQL节点都是连接到所有的存储节点的,所以当任何一个存储节点发生故障的时候,SQL节点都可以把请求转移到另一个存储节点执行。通常来讲,SQL节点越多越好,因为SQL节点越多,分配到每个SQL节点的负载就越小,系统的整体性能就越好;

  3.3.数据节点:

  ??数据节点用来存放Cluster里面的数据,可以有很多个,MySQL Cluster在各个数据节点之间复制数据,任何一个节点发生了故障,始终会有另外的数据节点存储数据。

  ??在/etc/hosts文件中追加如下信息,使局域网内集群可以通过主机名称访问(/etc/my.cnf、/data/mysql/config.ini配置文件中都以主机名作为参数):

  ??Mysql Cluster

  1) 创建MySQL用户和组:

  2) 创建MySQL文件存放路径:

  3) 解压安装包并移动到/usr/local/mysql:

  4) 更改/usr/local/mysql、/data的用户和组:

  5) 安装数据库系统

  注意:记录初始化数据库生成的登陆MySQL数据库root账户的临时密码

  6) 创建/etc/my.cnf文件并添加SQL节点配置:

  7) 切换到root用户添加环境变量:

  在/ect/profile文件中添加:

  保存退出,并且执行:

  8) 编辑 ~/.bashrc 并添加: 使环境变量永久生效

  9) 拷贝MySQL启动文件并启动MySQL

  10) 进入数据库并修改临时密码

  11) 重新登陆测试密码后退出,关闭MySQL:

  1) 创建用户和组

  2) 解压安装包并移动到/usr/local/mysql:

  3) 创建MySQL文件存放路径:

  4) 创建 /etc/my.cnf 文件并添加SQL节点配置:

  5) 切换到root用户添加环境变量:

  在 /ect/profile 文件中添加:

  保存退出,并且执行:

  6) 编辑 ~/.bashrc 并添加:使环境变量永久生效

  7) 注:建议用上述方式,因为以后使用过程中,可能会使用其他的管理工具查询集群状态,如 ndb_cofig 等。或者直接scp sql节点 将ndbd、ndbmtd拷贝至/usr/local/bin/目录中

  1) 解压安装包并移动到/usr/local/mysql:

  2) 创建管理节点文件存放路径:

  3) 切换到root用户添加环境变量:

  在 /ect/profile 文件中添加:

  保存退出,并且执行:

  4) 编辑 ~/.bashrc 并添加: 使环境变量永久生效

  5) 创建并编辑管理节点配置文件:

  ??Cluster需要各个节点都进行启动后才可以运行,节点的启动顺序为:

  ????管理节点——>数据节点——>SQL节点

  ??注:需要关闭各节点防火墙:

  ???? ????

  —虚拟机不给力,临时改用1个数据节点

  ??ndb_mgm是ndb_mgmd(MySQL Cluster Server)的客户端管理工具,通过它可以方便的检查Cluster的状态、启动备份、关闭Cluster等功能。

  通过上面的状态信息,可以看到:

  1)集群的管理服务端口是1186;

  Connected to Management Server at: localhost:1186

  2)集群的数据节点有1个;

  3)管理节点有一个;

  4)SQL节点有2个,且处于连接状态;

  ??使用Cluster,则表的存储引擎必须为NDB,其他类型存储引擎的数据不会保存到数据节点中,对于CLuster的一个重要功能就是防止单点故障

  ??在任意节点中新创建database,添加存储引擎未NDB的表,都可在另外一个SQL节点中查询到。数据一致。

  关闭Cluster

  问题1-1:初始化SQL节点之前使用yum安装 libaio

  问题1-2:配置文件中尽量不要粘贴windows复制过来的空格,特别是数字前后

  问题1-3:关闭各节点防火墙:

  或者通过防火墙打开所需端口,不然管理节点与数据节点、SQL节点连接不上。