admin 管理员组

文章数量: 887021


2023年12月22日发(作者:进入ssh命令)

搭建步骤

1、在g-cloud6.5.0添加centos6虚拟机

2、在g-cloud6.5.0添加网络规划

3、修改/etc/sysconfig/network-scripts/0将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 /etc/.d/

mv

vi 加入以下内容

[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/ /etc/ && 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/ /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

添加以下内容:

[NDBD DEFAULT]

NoOfReplicas=1

DataMemory=500M

IndexMemory=300M

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

[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的文件

在文件中加入

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/ --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)

原因:因为文件中未配置serverd的目录导致

解决办法:在/etc目录修改文件

添加以下配置:

[]

basedir='mysql安装路径'

2、加载管理端配置文件时报错

现象:使用ndb_mgmd -f /var/lib/mysql-cluster/命令时报错

2015-11-17 01:04:42 [MgmtSrvr] ERROR -- Could not determine which nodeid to use for this

node. Specify it with --ndb-nodeid= on command line

原因:没有加初始化参数

解决办法:ndb_mgmd --ndb_nodeid=1 --initial -f /var/lib/mysql-cluster/

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、在中配置了集群信息后,启动mysql服务报错,报错信息为退出时无法更新“机器名.pid”

解决办法:只要将中关于集群的配置信息注释即可解决,在管理端reload文件后,再次放开注释重启不报错

注意

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]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -s 202.96.154.120 -j ACCEPT

-A INPUT -s 202.96.154.124 -j ACCEPT

-A INPUT -s 202.96.154.126 -j ACCEPT

-A INPUT -s 202.96.154.125 -j ACCEPT

-A INPUT -s 202.96.154.122 -j ACCEPT

-A OUTPUT -p tcp --dport 18889 -j ACCEPT

-A OUTPUT -s 202.96.154.120 -j ACCEPT

-A OUTPUT -s 202.96.154.124 -j ACCEPT

-A OUTPUT -s 202.96.154.126 -j ACCEPT

-A OUTPUT -s 202.96.154.125 -j ACCEPT

-A OUTPUT -s 202.96.154.122 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT


本文标签: 文件 配置 报错 启动 过程