MySql Cluster 安装,Centos,双管理,多数据,多SQL节点

原创
2018/05/18 16:46
阅读数 3.3K

MySql Cluster 安装

安装步骤->安装步骤

查看错误->错误集锦

节点作用->节点作用

测试结果->测试结果

硬件环境

12台虚拟机

192.168.31.41~192.168.31.50,192.168.31.54,192.168.31.55

2核4G

CPU: Intel Core Processor (Broadwell)

软件环境

OS: CentOS Linux release 7.2.1511

管理节点:192.168.31.41

192.168.31.46

SQL:192.168.31.42

192.168.31.43

192.168.31.47

192.168.31.48

数据节点:192.168.31.44

192.168.31.45

192.168.31.49

192.168.31.50

192.168.31.54

192.168.31.55

安装步骤

官网下载mysql-cluster-gpl-7.5.10-linux-glibc2.12-x86_64.tar.gz压缩包,解压到服务器任意位置

如果系统存在mysql服务,请先卸载再安装.

所有步骤都在root帐号下执行

管理节点

1.新建一个配置文件config.ini,位置任意,能找到就行

2.管理节点开发端口1186,这个端口是其他机器连接管理节点的默认端口.如果开启了防火墙,请将端口开放出来.

firewall-cmd --zone=public --add-port=1186/tcp --permanent & firewall-cmd --reload

3.mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64/bin目录下的ndb_mgmd和 ndb_mgm拷贝出来, 可以拷贝到/usr/local/bin下,方便直接调用.也可以随意位置,用./ndb_mgm 调用.

注意赋予可执行权限

chmod +x ndb_mgm*

4.创建/usr/local/mysql目录,在初始化启动管理节点的时候会要求你创建一个目录. 到此,管理节点安装完成,另外一个节点也照搬.注意,配置文件必须一致.

下面是我的配置文件config.ini,两个管理节点都需要这个配置,直接拷贝到另外一个管理几点,配置文件很重要,仔细检查.

#conifg.init
[ndbd default]
NoOfReplicas=2
DataMemory=1024M
IndexMemory=200M
ServerPort=2202

[ndb_mgmd]
NodeId=1
HostName=192.168.31.41          # Hostname or IP address of MGM node
DataDir=/var/lib/mysql-cluster  # Directory for MGM node log files

[ndb_mgmd]
NodeId=2
HostName=192.168.31.46
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=192.168.31.44
DataDir=/usr/local/mysql/data

[ndbd]
HostName=192.168.31.45
DataDir=/usr/local/mysql/data

[ndbd]
HostName=192.168.31.49
DataDir=/usr/local/mysql/data

[ndbd]
HostName=192.168.31.50
DataDir=/usr/local/mysql/data

[mysqld]
HostName=192.168.31.42
[mysqld]
HostName=192.168.31.43
[mysqld]
HostName=192.168.31.47
[mysqld]
HostName=192.168.31.48

数据节点

1.创建配置文件/etc/my.cnf,系统自带可能有,可以直接覆盖成自己的.

注意:SQL节点和数据节点配置相同,请创建好一个配置后,拷贝到对应机器的对应目录下面,保证所有数据节点和SQL节点配置一致.

2.和管理节点一样,在mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64/bin下找到ndbd,ndbmtd文件,放到任意位置,赋予可执行权限.建议也放到,/usr/local/bin下,方便执行.

3.数据节点防火墙开发端口2202,这个端口是其他机器连接节点的默认配置端口.这个端口可以在管理节点配置文件中修改.

4.新建/usr/local/mysql/data目录,用作初始化,数据节点数据会存储在这个位置.

firewall-cmd --zone=public --add-port=2202/tcp --permanent & firewall-cmd --reload 到此,数据节点安装完毕.下面是my.cnf配置文件

#my.cnf
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.31.46,192.168.31.41

sql节点

1.检查当前环境是否存在mysql用户组,新增一个mysql用户.没有的话新增用户组和用户.

groupadd mysql & useradd -g mysql -s /bin/false mysql

2.创建/etc/my.cnf,配置数据节点一致.

3.解压mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64到/usr/local下,建立一个mysql的文件链接.不需要创建mysql这个目录,会自动创建.

ln -s /usr/local/mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64 /usr/local/mysql

注意:我在这个出现一个错误,当建立连接文件不在local下时候,生成的mysql不是一个文件夹.所以,尽量放在一个下面建立链接.

4.进入bin目录.找到mysqld.执行

mysqld --initialize

如果成功执行完毕,会出现mysql的数据库root帐号密码.并起在/usr/local/mysql/下会多一个data目录,请检查,如果没有.重新初始化(删除解压文件,重新解压即可,按照步骤重新执行一次)

5.MySQL服务器和数据目录设置必要的权限

chown -R root .

chown -R mysql data

chgrp -R mysql .

6.将MySQL启动脚本复制到相应的目录,使其可执行,并将其设置为在操作系统启动时启动:

cp support-files/mysql.server /etc/rc.d/init.d/

chmod +x /etc/rc.d/init.d/mysql.server

chkconfig --add mysql.server #开启启动

到此,sql节点搭建完毕,可以进入/usr/local/mysql/bin下的mysql 进入数据库.

启动

两个管理节点都启动 ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial --ndb-nodeid=2

第一次启动加上--initial,后面不加,ndb-nodeid配置文件中的nodeid.只有管理节点需要加入.其他节点的nodeid建议自动分配,以防冲突.


数据节点 ndbd --initial

第一次启动或者后面启动报错,加上initial,报错可能是你做了数据库重新分区,但是,出现了某些错误导致的.


sql节点 直接启动sql 服务即可 mysql.service start.

登录 ndb_mgm ,执行show查看是否全为连接状态

上图是我的,手动停掉了一个sql节点,无视即可.

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部