分类: Mysql/postgreSQL
2012-03-07 20:50:34
准备 32位和64位版本 3台服务器
202.38.128.153 dbs2 64位
202.122.32.68 dbs1 64位
192.168.32.22 erpdbtest 32位
管理节点(ndb_mgmd) 192.168.32.22 erpdbtest 32位
数据节点(ndbd) 202.122.32.68 dbs1 64位 202.38.128.153 dbs2 64位
SQL节点(mysqld) 202.122.32.68 dbs1 64位 202.38.128.153 dbs2 64位
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.4-linux2.6-i686.tar.gz/from/http://gd.tuwien.ac.at/db/mysql/
卸载Mysql
rpm –qa | grep SQL
rpm –e mysql...
删除/etc/my.cnf /var/lib/mysql
关闭防火墙
Iptables是一个包含在绝大多数Linux发行版中的防火墙。在默认安装的RHEL中,防火墙是打开的,且随机启动,如果要关闭防火墙,可以使用以下命令:
service iptables stop
以上命令执行完毕之后效果只能保持到下次重启。重启后的配置就还原了,如果希望能够在重启之后还能够保持防火墙的关闭状态,可以使用以下命令:
chkconfig –level 35 iptables off
关闭SELinux
SELinux的全称是Security-EnhancedLinux,是由美国国家安全局NSA开发的访问控制体制。SELinux可以最大限度地保证Linux系统的安全。
在
默认安装的Linux系统中,SELinux默认是开启的,配置文件是/etc/selinux/config,一般测试过程中使用
“permissive”模式,这样仅会在违反SELinux规则时发出警告,然后修改规则,最后由用户觉得是否执行严格“enforcing”的策略,
禁止违反规则策略的行为。规则决定SELinux的工作行为和方式,策略决定具体的安全细节如文件系统,文件一致性。在安装过程中,可以选择“激活”、
“警告”或者“关闭”SELinux。默认设置为“激活”。
为了避免SELinux影响到群集功能,需要关闭SELinux系统的功能
1、 安装管理节点(192.168.32.22)
解压文件
tar -zvxf mysql-cluster-gpl-7.2.4-linux2.6-i686.tar.gz
创建安装目录
mkdir -p /usr/local/mysql/bin
mkdir -p /usr/local/mysql/ndbdata
添加执行文件路径
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
拷贝执行文件
cd mysql-cluster-gpl-7.2.4-linux2.6-i686
cp bin/ndb_mgmd /usr/local/mysql/bin
cp bin/ndb_mgm /usr/local/mysql/bin
创建日志文件存储目录
mkdir /var/lib/mysql-cluster
创建配置文件目录及文件
mkdir /usr/local/mysql/cluster-conf
vi /usr/local/mysql/cluster-conf/config.ini
编辑配置文件:
########################以下为配置文件内容#################
########################以上为配置文件内容#################
2、 安装数据节点 ( 202.122.32.68 dbs1 202.38.128.153 dbs2 )
解压文件
tar -zxvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz
创建安装目录
mkdir -p /usr/local/mysql/bin
mkdir -p /usr/local/mysql/ndbdata
拷贝执行文件
cp mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndbd /usr/local/mysql/bin
添加执行文件路径
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
创建配置文件:
vi /etc/my.cnf
分别在主机添加如下内容:
3、安装SQL节点(202.122.32.68 dbs1 202.38.128.153 dbs2):
解压文件
tar -zxvf mysql-cluster-gpl-7.2.4-linux2.6-x86_64.tar.gz
拷贝安装文件
mv mysql-cluster-gpl-7.2.4-linux2.6-x86_64 /usr/local/mysql
添加mysql用户
groupadd mysql
useradd -g mysql mysql
添加权限
chown -R mysql:mysql /usr/local/mysql
拷贝配置文件
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
初始化数据库
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
拷贝守护进程所需文件
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
配置守护进程
chkconfig –add mysqld
chkconfig –level 35 mysqld on
添加执行文件路径
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
更改配置文件
vi /etc/my.cnf
分别编辑如下信息:
4、启动及关闭mysql cluster
启动顺序:管理服务器->存储节点->SQL节点
a、启动管理节点
rm mysql/mysql-cluster/ndb_1_config.bin.1 #不是必须的,如果config.ini有改动则要加上ndb_mgmd -f /usr/local/mysql/cluster-conf/config.ini
b、启动存储节点
ndbd –initial #(第一次启动必须添加选项,另外备份/恢复,修改配置文件也需要执行)
ndbd #不是第一次启动需要执行的命令
c、启动SQL节点
/etc/rc.d/init.d/mysqld start 或service mysqld start
启动后可以用mysql -uroot -p 验证mysql服务状态
关闭顺序:SQL节点->管理节点
a、关闭SQL节点
/etc/rc.d/init.d/mysqld stop 或service mysqld stop
b、关闭管理节点
ndb_mgm〉 shutdown
5、验证配置的正确性
要先启动管理节点 再启动数据节点 等启动完后 再起sql节点 否则会出错
1、在管理节点执行:ndb_mgm -> show
正常状态
2、在其中一个SQL节点创建数据库,添加数据。要等启动完再操作。
NDB: Could not acquire global schema lock (266)Time-out in NDB,
启动完成前 如果在一个节点执行添加数据库的操作,不能同步到其他节点。
3、在另一个SQL节点,如果能够存在添加的数据库和数据,则说明配置成功
进入sql节点,在test数据库创建表
CREATE TABLE `t1` (切换到2台数据节点服务器~/mysql/data/ndb_2_fs和~/mysql/data/ndb_3_fs看看,
或者直接去数据库查,数据已经同步了!
关闭集群服务
关闭sql节点等同于停止mysql服务,此时外界数据不将再进来。然后关闭管理节点
~/mysql/bin/ndb_mgm -e shutdown这样操作后,管理节点和数据节点都将停止服务
Notes:
1:如果发现关闭一台机器的ndbd进程,另一台机器的ndbd的进程也关闭,则需要修改参数NoOfReplicas。