一、检查环境
1.检查系统是否装载了mysql
使用命令: rpm -qa|grep -i mysql
如果有显示全部卸载,如果没有说明没有安装mysql,有的话则删除 .
使用命令:rpm -e ****** 或者 yum -y remove *****
2.删除my.cnf
使用命令: rm –fr /etc/my.cnf
二、部署安装(管理节点和数据节点同样操作)
1.添加用户组及用户
shell> groupadd mysql
shell> useradd mysql -g mysql
2.解压安装包
shell> mv mysql-cluster-gpl-***-linux2.6-x86_64.tar.gz /usr/local/
shell> cd /usr/local/
shell> tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/
shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 mysql
shell> chown -R mysql:mysql mysql
shell> cd mysql
3.带参数安装
shell> scripts/mysql_install_db --user=mysql
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
4.复制启动的快捷方式
拷贝ndb_mgm ndb_mgmd 文件到 /usr/local/bin/
cp -fr /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/
【管理节点配置】
a.创建mysql-cluster文件夹
mkdir /var/lib/mysql-cluster
b.创建 config.ini文件
vi /var/lib/mysql-cluster/config.ini
文件内容
[NDBD DEFAULT]
NoOfReplicas: 1 #定义在Cluster环境中相同数据的份数 最大为4
# Data Memory, Index Memory, and String Memory #
DataMemory: 500M #分配的数据内存大小
IndexMemory: 250M #设定用于存放索引(非主键)数据的内存段大小
MaxNoOfAttributes: 20480 #类似于总体设置,大一些好,不数据量时容易报错
MaxNoOfTables: 1024
MaxNoOfOrderedIndexes: 2048
MaxNoOfUniqueHashIndexes: 512
MaxNoOfTriggers: 10240
[MGM DEFAULT]
PortNumber: 1186 #管理节点端口
[NDB_MGMD] #管理节点IP配置datadir值必须是真实存在的,不然启动报错
Nodeid=1
hostname=192.168.1.77
datadir=/var/lib/mysql-cluster/
[NDBD] #数据节点1
Nodeid=2
hostname=192.168.1.78
datadir=/usr/local/mysql/data
[NDBD] #数据节点2
Nodeid=3
hostname=192.168.1.79
datadir=/usr/local/mysql/data
[MYSQLD] #SQL节点1
hostname=192.168.1.77
[MYSQLD] #SQL节点2
hostname=192.168.1.77
[MYSQLD] #预留节点以备扩展使用,否则会出现Failed to allocate nodeid No free node id found for ndbd(NDB)错误
保存退出
c.创建my.cnf文件
vi /etc/my.cnf
[MYSQLD]
character_set_server=utf8
ndbcluster #运行NDB存储引擎
ndb-connectstring=192.168.1.77 #mysql数据库所在地址
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
lower_case_table_names=1 #表名是否区分大小写 1为不区分,不然linux下表名是区分大小写的
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.77 #mysql cluster 管理节点IP
保存退出
【数据节点配置】
a.创建my.cnf文件
[MYSQLD]
character_set_server=utf8
ndbcluster #运行NDB存储引擎
ndb-connectstring=192.168.1.78 #mysql数据库所在地址
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
lower_case_table_names=1 #表名是否区分大小写 1为不区分,不然linux下表名是区分大小写的
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.77 #mysql cluster 管理节点IP
保存退出
三、安装后调试准备
1.把服务器的防火墙(IPTABLES)与 selinux关闭
service iptables stop
vi /etc/selinux/config (改为SELINUX=disabled)保存退出
2.reboot两台机器
由于不是从系统启动方面停止的防火墙(IPTABLES)
所以再停止一次防火墙(IPTABLES)
service iptables stop
四、启动
启动顺序:管理节点 à 数据节点 à SQL节点
关闭顺序:SQL节点à 数据节点 à 管理节点
1.动管理节点服务
shell> /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
shell> netstat -lntpu
看到1186开放说明启动正常
2.启动数据节点服务 Data (NDBD) node
shell> /usr/local/mysql/bin/ndbd --initial
在两台机器上启动服务, 执行相同操作
★必须注意:只是在第一次启动或在备份/恢复或配置变化后重启ndbd时,才加–initial参数!
启动结果如下:
2012-06-30 05:01:11 [ndbd] INFO -- Angel connected to '192.168.6.134:1186'
2012-06-30 05:01:11 [ndbd] INFO -- Angel allocated nodeid
操作命令(节点状态、客户端状态查看 ndb_mgm -e show
停止管理节点与数据节点 ndb_mgm –e shutdown )
五、测试功能是否安装成功
在其中一个数据库中建立数据库和表,并插入数据。然后在另外的数据库中查看是否有数据。
例如:create table test1(id int) engine=ndbcluster ;
此处engine必须为ndbcluster 不然集群时导入数据易丢失,而且建立表的字段时必须有主键,不然cluster会默认为你添加主键,耗费无限的内存,导致系统崩溃(此处为测试表,没有主键,请谅解)
转载于:https://blog.51cto.com/yaowu/1085899