搭建步骤
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小时内删除。