Mysql Cluster7.4.12分布式集群搭建

集群规划:

节点 IP ADDRESS
Management Server (ndb_mgmd) 192.168.6.203
data nodes (ndbd)
192.168.6.204

192.168.6.205

SQL node (mysqld)
192.168.6.204

192.168.6.205


Mysql Cluster版本:

MySQL Cluster NDB 7.4.12 (5.6.31-ndb-7.4.12),

下载地址: http://dev.mysql.com/downloads/cluster/

集群部署:

1、环境清理及安装:

如果已经存在mysql相关的安装或者依赖包,则先清理mysql的相关安装和依赖

检查mysql是否存在mysql相关依赖包:

rpm -qa | grep mysql*

如存在:mysql-libs-5.1.66-2.el6_3.x86_64

则卸载mysql并删除依赖:

yum -y remove mysql
rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
......

2、集群安装:

管理节点:

192.168.6.203

rpm -ivh MySQL-Cluster-server-gpl-7.4.12-1.el6.x86_64.rpm

数据节点 和 mysql server:

192.168.6.204

192.168.6.205

rpm -ivh MySQL-Cluster-server-gpl-7.4.12-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-client-gpl-7.4.12-1.el6.x86_64.rpm

配置文件:

管理节点配置文件:

在192.168.6.203上创建  /var/lib/mysql-cluster/config.ini ,内容如下

[NDB_MGMD DEFAULT]  
Portnumber=1186  
  
[NDB_MGMD]  
NodeId=10  
HostName=192.168.6.203  
DataDir=/var/lib/mysql-cluster/  
Portnumber=1186  
  
[TCP DEFAULT]  
SendBufferMemory=4M  
ReceiveBufferMemory=4M  
  
[NDBD DEFAULT]  
NoOfReplicas=2    # Number of replicas
DataMemory=800M    # How much memory to allocate for data storage
IndexMemory=100M   # 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 Cluster setup.
  
[NDBD]  
NodeId=20  
HostName=192.168.6.204  
DataDir=/var/lib/mysql/  
  
[NDBD]
NodeId=21
HostName=192.168.6.205
DataDir=/var/lib/mysql/

[MYSQLD DEFAULT]  
[mysqld]  
hostname=192.168.6.204
[mysqld]  
hostname=192.168.6.205

数据节点和mysqld节点:

在192.168.6.20[4,5]上分别创建/etc/my.cnf

[mysqld]
# Options for mysqld process:
ndbcluster                      # run NDB storage engine
ndb-connectstring="192.168.6.203:1186"

[mysql_cluster]
# # Options for MySQL Cluster processes:
ndb-connectstring="192.168.6.203:1186"  # location of management server

3、启动集群:

准备工作:集群每台机器 关闭防火墙;设置selinux的SELINUX=disabled;

先启动管理节点:

192.168.6.203上启动管理节点:

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

再启动数据节点:

192.168.6.20[4,5]上启动数据节点:

ndbd

最后192.168.6.20[4,5]启动mysqld服务:

mysqld_safe --user=mysql &

通过管理节点,查看节点连接状态:

shell>  ndb_mgm
-- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: 192.168.6.203:1186
Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=20	@192.168.6.204  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0, *)
id=21	@192.168.6.205  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0)

[ndb_mgmd(MGM)]	1 node(s)
id=10	@192.168.6.203  (mysql-5.6.31 ndb-7.4.12)

[mysqld(API)]	2 node(s)
id=22	@192.168.6.204  (mysql-5.6.31 ndb-7.4.12)
id=23	@192.168.6.205  (mysql-5.6.31 ndb-7.4.12)

ndb_mgm>

看到上面的状况,则说明集群启动成功。

进入mysqld,查看mysql是否已经支持分布式存储引擎ndbcluster

shell> mysql -uroot -p
mysql> set password=password(‘xxxxxx‘)  # 第一次登陆需要修改root 用户的登录密码
mysql> show engines\g;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ndbcluster         | YES     | Clustered, fault-tolerant tables                               | YES          | NO   | NO         |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| ndbinfo            | YES     | MySQL Cluster system information storage engine                | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
11 rows in set (0.00 sec)

4、测试数据同步:

在192.168.6.204上创建一张t2表:

mysql> use test;
Database changed
mysql> create table t2(id int, name varchar(20)) engine=ndbcluster;
Query OK, 0 rows affected (0.10 sec)
mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

在192.168.6.205上向表t2插入一条数据:

mysql> desc t2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> insert into t2 values(1,‘lisan‘);
Query OK, 1 row affected (0.00 sec)

mysql> select * from t2;
+------+-------+
| id   | name  |
+------+-------+
|    1 | lisan |
+------+-------+
1 row in set (0.00 sec)

在204上查看t2表:

mysql> select * from t2;
+------+-------+
| id   | name  |
+------+-------+
|    1 | lisan |
+------+-------+
1 row in set (0.00 sec)

看到上面结果,则说明分布式mysql数据同步成功。

安装过程中遇到的问题:

1、Unable to connect with connect string: nodeid=0,localhost:1186  Retrying every 5 seconds. Attempts left: 2 1, failed.

可能原因:软件包安装错误(多装或者是少装都会出错);config.ini或者my.cnf配置文件有误;

2、Unable to connect with connect string: nodeid=0,192.168.1.102:1186   Retrying every 5 seconds. Attempts left: 12 11 10 9 8 7 6 5 4 3 2 1, failed.

可能原因:防火墙开启,阻止集群数据通信;selinux开启,可以通过setenforce  0 关闭;

时间: 2024-12-29 16:40:43

Mysql Cluster7.4.12分布式集群搭建的相关文章

分布式实时日志系统(四) 环境搭建之centos 6.4下hbase 1.0.1 分布式集群搭建

一.hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务.因此,它可以容错地存储海量稀疏的数据.HBase在列上实现了BigTable论文提到的压缩算法.内存操作和布隆过滤器.HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来存取数据,也可以

MinIO 分布式集群搭建

MinIO 分布式集群搭建 分布式 Minio 可以让你将多块硬盘(甚至在不同的机器上)组成一个对象存储服务.由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障. Minio 分布式模式可以搭建一个高可用的对象存储服务,你可以使用这些存储设备,而不用考虑其真实物理位置. (1)数据保护 分布式 Minio 采用纠删码(erasure code)来防范多个节点宕机和位衰减(bit rot). 分布式 Minio 至少需要 4 个节点,使用分布式 Minio 就自动引入了纠删码功能. 纠

阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

Storm分布式集群搭建

Storm分布式集群搭建 1.解压Storm压缩文件 [[email protected] software]# tar -zxf apache-storm-0.10.0.tar.gz -C /opt/modules [[email protected] software]# cd /opt/modules [[email protected] modules]# mv apache-storm-0.10.0 storm-0.10.0 2.配置Storm的配置文件 部署依赖环境 Java 6+

kafka系列二:多节点分布式集群搭建

上一篇分享了单节点伪分布式集群搭建方法,本篇来分享一下多节点分布式集群搭建方法.多节点分布式集群结构如下图所示: 为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建. 一.安装Jdk 具体安装步骤可参考 linux安装jdk. 二.安装与配置zookeeper 下载地址:https://www-us.apache.org/dist/zookeeper/stable/ 下载二进制压缩包 zookeeper-3.4.14.tar.gz,然后上传到linux服务器指定目录下,本次上传目录为 

Hadoop 分布式集群搭建 & 配置

一. 安装Java Java下载 官网下载合适的jdk,本人使用的是jdk-7u79-linux-x64.tar.gz,接下来就以该版本的jdk为例,进行Java环境变量配置 创建Java目录 在/usr/local目录下创建java目录,用于存放解压的jdk cd /usr/local mkdir java 解压jdk 进入java目录 cd java tar zxvf jdk-7u79-linux-x64.tar.gz 配置环境变量 编辑profile文件 cd /etc vim profi

Hadoop伪分布式集群搭建总结

Hadoop伪分布式集群搭建总结 一.所需软件VMware15!CentOS6.5JDK1.8Hadoop2.7.3二.安装注意:对文件进行编辑:输入a,表示对该文件进行编辑,最后保存该文件,操作为:点击键盘上的Esc按钮,然后输入英文的:字符,再输入wq,点击回车,完成文件的保存.1.关闭防火墙和禁用SELINUX(1).永久关闭防火墙,重启Linux系统(2) .禁用SELINUX:修改文件参数 重启Linux使其生效(3).检查防火墙是否运行,显示下图即为关闭2.配置hostname与IP

Hadoop全分布式集群搭建(详细)

一.准备物理集群.1.物理集群搭建方式.采用搭建3台虚拟机的方式来部署3个节点的物理集群.2.虚拟机准备.准备一个已近建好的虚拟机进行克隆.(建议为没进行过任何操作的)在要选择克隆的虚拟机上右击鼠标,管理,克隆.在弹出对话框中进行以下操作.(1).下一步.(2).选择虚拟机中的当前状态,下一步. (3).选择创建完整克隆,下一步.(4).输入虚拟机名称,下一步.(5).克隆完成.(6).按照上述步骤再创建一个虚拟机名称为slave02的.3.虚拟机网络配置.由于slave01和slave02虚拟