首页 技术 正文
技术 2022年11月23日
0 收藏 301 点赞 3,325 浏览 3580 个字

在集群中的所有主机上安装提供集群功能的软件包

官网上下载的  mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz

规划了5台服务器,10.10.22.123~10.10.22.127   其中,123、124做数据节点,125做管理节点,126、127做SQL节点。

一、准备工作:

service mysql stop

mhkconfig mysql off

mv  /etc/my.cnf  /etc/my.cnf.bak

rpm -qa | grep -i mysql   查看之前是由有rpm的依赖项,如果有,删除之

rpm -e –nodeps  ………………………….(依赖项的包名)

如果/etc/passwd 下没有mysql用户,增加之

useradd  -s  /sbin/nologin -M mysql

tar -xvzf mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz

mv mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64  /usr/local/mysql

二、配置管理节点(125)

1、管理集群中的所有主机,启动管理进程时加载自己的主配置文件/etc/config.ini(设置集群中各主机的角色,各个主机角色在运行时参数的设置)

[ndbd default]   数据节点公共配置

[ndb_mgmd]    设置管理主机

[ndbd]    指定数据节点

[mysqld]        指定sql节点

vim /etc/config.ini

[ndbd default]

NoOfReplicas=2      #数据节点的份数,与数据节点个数相关

DataMemory=5G    #数据占用内存 后期调

IndexMemory=1G

[ndb_mgmd]

NodeId=25           #管理节点的ID

hostname=10.10.22.125

datadir=/var/log/mysql-cluster     #指定日志信息存放位置

[ndbd]

NodeId=23           #数据节点的ID

hostname=10.10.22.123

datadir=/mysql_data1

[ndbd]

NodeId=24

hostname=10.10.22.124

datadir=/mysql_data2

[mysqld]

NodeId=26          #sql节点的ID

hostname=10.10.22.126

[mysqld]

NodeId=27           #sql节点ID

hostname=10.10.22.127

2、安装管理节点

cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin

cd /usr/local/bin

chmod +x ndb_mgm*

三、配置数据节点(123和124)

用来存储数据,运行数据进程。

首先建立数据节点的文件夹为:/mysql_data1   /mysql_data2

1、数据节点的配置文件如下:

vim  /etc/my.cnf

[mysqld]

basedir=/usr/local/mysql

datadir=/mysql_data1                    #存放数据的文件夹

ndb-connectstring=10.10.22.125     #指定管理节点

ndbcluster                           #指定存储引擎(这里不再是innodb)

socket=/usr/local/mysql/sock/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql_cluster]

ndb-connectstring=10.10.22.125

2、安装创建系统数据库

cd /usr/local/mysql

mkdir sock

scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/mysql_data1

3、更改目录属性

chown -R root .

chown -R mysql.mysql /mysql_data1

chown -R mysql.mysql /usr/local/mysql/sock

chgrp -R mysql .

4、配置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节点(126和127)

运行的是数据库服务(mysqld),供用户访问 和 执行sql语句。

1、vim  /etc/my.cnf

[client]

socket=/usr/local/mysql/sock/mysql.sock

[mysqld]

ndbcluster                     #指定数据库引擎

default-storage-engine=ndbcluster        #建表时使用的默认存储引擎

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/sock/mysql.sock

ndb-connectstring=10.10.22.125

[mysql_cluster]

ndb-connectstring=10.10.22.125

2、安装创建系统数据库

cd /usr/local/mysql

mkdir sock

scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data

3、修改目录权限

chown -R root .

chown -R mysql.mysql /usr/local/mysql/data

chown -R mysql.mysql /usr/local/mysql/sock

chgrp -R mysql .

4、配置mysql服务

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

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

chkconfig –add mysql.server

五、cluster环境启动(注意顺序)

关防火墙、selinux(setenforce 0)

1、启动管理进程

ndb_mgmd -f /etc/config.ini

还可以使用ndb_mgm命令来监听客户端

可用netstat -utnalp | grep 1186 测试进程是否起来了

如下:

tcp        0      0 0.0.0.0:1186                0.0.0.0:*                   LISTEN      19206/ndb_mgmd

tcp        0      0 127.0.0.1:1186              127.0.0.1:57812             ESTABLISHED 19206/ndb_mgmd

tcp        0      0 127.0.0.1:57812             127.0.0.1:1186              ESTABLISHED 19206/ndb_mgmd

(管理节点只能通过kill来停止进程,无法用service停止)

2、启动数据进程

首次启动,则需要添加–initial参数,以便进行NDB节点的初始化工作。在以后的启动过程中,则是不能添加该参数的,否则ndbd程序会清除在之前建立的所有用于恢复的数据文件和日志文件。

/usr/local/mysql/bin/ndbd –initial

或者  /usr/local/mysql/bin/ndbd

3、启动sql节点上的数据库服务

/usr/local/mysql/bin/mysqld_safe –user=mysql &

或者 service  /etc/init.d/mysql.server start

最后再:

cp /usr/local/mysql/bin/mysql /usr/bin/

至此,集群搭建完成!

我们可以在管理节点(125)上用ndb_mgm来show查看所有节点状态,如下:

MySQL集群搭建

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731