搭建步骤
1、在g-cloud6.5.0添加centos6虚拟机
2、在g-cloud6.5.0添加网络规划
3、修改/etc/sysconfig/h0将onboot修改为yes,将hctp修改为none,重启网卡 service network restart
4、挂载VmAgent iso文件,安装该软件,ps -ef|grep VmAgent查看该进程是否启动
4、在g-cloud6.5.0手动设置虚拟机的ip
5、下载mysql cluest 对应centos6系列的安装包
6、挂载centos系统iso盘
7、mount iso盘,修改yum配置,新建源为系统盘
mount /dev/cdrom /home/jensen
cd /pos.d/
po.bak
po 加入以下内容
[dvd]
name=yum server
baseurl=file:///home/jensen
enabled=1
gpgcheck=0
8、安装make、gcc、perl、libaio-devel
yum -y install make gcc gcc-c++ perl perl-devel libaio-devel
9、修改/etc/hosts文件中,添加计算机名
hostname
vi /etc/hosts
填写该hostname,与IP绑定
10、上传mysql cluest 文件
cd /home && tar -zxvf mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_ && mv mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64 /usr/local/mysql/ && cp /usr/local/mysql/support-files/my-defaultf /etc/myf && cd /usr/local/mysql && groupadd mysql && useradd -g mysql mysql && chown -R root * && chown -R mysql data && chgrp -R mysql * && scripts/mysql_install_db --user=mysql && cp support-files/mysql.server /etc/rc.d/init.d/mysqld && chmod +x /etc/rc.d/init.d/mysqld && chkconfig --add mysqld
如果是配置管理端,,进入mysql安装目录,应在以上配置好后进行以下操作
cp bin/ndb_mgm*/usr/local/bin
cd /usr/local/bin
chmod +x ndb_mgm*
11、在管理端新建配置文件
cd /var/lib
mkdir mysql-cluster
vi config.ini
添加以下内容:
[NDBD DEFAULT]
NoOfReplicas=1
DataMemory=500M
IndexMemory=300M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
mysql下载starting the server [NDB_MGMD]
nodeid=1
HostName=20.251.37.212
DataDir=/usr/local/mysql/mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64/data/
[NDBD]
nodeid=2
HostName=20.251.37.213
DataDir=/usr/local/mysql/mysql-cluster-gpl-7.4.8-linux-glibc2.5-x86_64/data/
[MYSQLD]
nodeid=3
HostName=20.251.37.211
[MYSQLD]
nodeid=4
HostName=20.251.37.213 #既做数据端,也做mysql节点
[MYSQLD]
nodeid=5
HostName=20.251.37.214
[MYSQLD]
nodeid=6
HostName=20.251.37.215
[MYSQLD]
保存后退出
12、配置NDB和MYSQL的myf文件
在myf文件中加入
ndbcluster
ndb-connectstring=20.251.37.212
[MYSQL_CLUSTER]
ndb-connectstring=20.251.37.212
保存文件退出
13、启动顺序:
A、启动管理端
cd /usr/local/bin
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial #第一次要带最后那个参数,后面如果对文件有修改带--reload参数就行,第一次要带--nodeid参数
B、启动数据端
进入mysql安装目录下的bin目录
./ndbd --initial
C、sql节点只需启动mysql服务即可
过程中碰到的问题:
1、第二次启动mysql的时候报错,错误信息如下:
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe)
原因:因为myf文件中未配置serverd的目录导致
解决办法:在/etc目录修改myf文件
添加以下配置:
[mysql.server]
basedir='mysql安装路径'
2、加载管理端配置文件时报错
现象:使用ndb_mgmd -f /var/lib/mysql-cluster/config.ini命令时报错
2015-11-17 01:04:42 [MgmtSrvr] ERROR -- Could not determine which nodeid to use for this node. Specify it with --ndb-nodeid=<nodeid> on command line
原因:没有加初始化参数
解决办法:ndb_mgmd --ndb_nodeid=1 --initial -f /var/lib/mysql-cluster/config.ini
3、初始化数据端的时候报错
现象:使用./ndbd --initial初始化数据端命令报错
2015-11-16 19:12:55 [ndbd] INFO -- Angel connected to '192.168.37.212:1186'
2015-11-16 19:12:55 [ndbd] ERROR -- Failed to allocate nodeid, error: 'Error: Could not alloc node id at 192.168.37.212 port 1186: Connection done from wrong host ip 192.168.37.211.'
解决办法:关闭防火墙 server iptables stop
4、在myf中配置了集信息后,启动mysql服务报错,报错信息为退出时无法更新“机器名.pid”
解决办法:只要将myf中关于集的配置信息注释即可解决,在管理端reload文件config.ini后,再次放开注释重启不报错
注意
1、客户端管理
cd /usr/local/bin/
./ndb_mgm
ndb_mgm> show
会有如下信息:
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 1 node(s)
id=2 @20.251.37.213 (mysql-5.6.27 ndb-7.4.8, Nodegroup: 0, *)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @20.251.37.212 (mysql-5.6.27 ndb-7.4.8)
[mysqld(API)] 5 node(s)
id=3 @20.251.37.211 (mysql-5.6.27 ndb-7.4.8)
id=4 @20.251.37.213 (mysql-5.6.27 ndb-7.4.8)
id=5 @20.251.37.214 (mysql-5.6.27 ndb-7.4.8)
id=6 @20.251.37.215 (mysql-5.6.27 ndb-7.4.8)
id=7 (not connected, accepting connect from any host)
2、关闭mysql cluster
cd /usr/local/bin
./ndb_mgm -e shutdown
3、做试验时只支持引擎为ENGINE=ndbcluster的表创建,不支持默认的INIDOB
create table log(
logid int(4) primary key not null auto_increment,
logtitle varchar(32)
)
ENGINE=ndbcluster;
a、创建存储过程向上表插入数据
b、创建事件每隔5秒执行一遍存储过程
4、存储过程、函数等不能同步,需其他方法
5、服务停掉后事务会回滚,创建的表等都没有了
6、防火墙直接配置成接受指定ip的所有包就ok,/etc/sysconfig/iptables文件内容如下:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论