MySQL Cluster 7.2.4集群配置
北京pk10冠军技 发布时间:06-29 来源:鹏鹏编程网 浏览:37次
MySQL Cluster 7.2.4集群配置
 
准备 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.jtciw.cn/get/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.4-linux2.6-i686.tar.gz/from/http://gd.tuwien.ac.at.nancimo.com/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 
编辑配置文件: 
########################以下为配置文件内容################# 
 
[ndbd default] 
NoOfReplicas=2 #复制成员个数
DataMemory=80M  #数据存储可以分配的内存
IndexMemory=18M #索引存储可以分配的内存 
 
[ndb_mgmd] #定义管理节点的IP地址或主机名
id=1
hostname=192.168.32.22 
DataDir=/var/lib/mysql-cluster 
 
[ndbd]  #定义数据节点
id=11 
HostName=202.122.32.68 
DataDir=/usr/local/mysql/ndbdata  
[ndbd]    
id=12 
HostName=202.38.128.153
DataDir=/usr/local/mysql/ndbdata 
 
[mysqld]#定义SQL节点
id=21 
HostName=202.122.32.68 
[mysqld]
id=22 
HostName=202.38.128.153
 
[mysqld]
id=23
 
########################以上为配置文件内容#################
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
分别在主机添加如下内容:
[mysql_cluster] #配置数据节点连接管理节点
ndb-connectstring=192.168.32.22
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
分别编辑如下信息:
[mysqld]  #配置SQL节点与管理节点连接
port            = 3306
socket          = /tmp/mysql.sock
ndbcluster
ndb-connectstring=192.168.32.22
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
 
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=11   @202.122.32.68  (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master)   启动完
id=12   @202.38.128.153  (mysql-5.5.19 ndb-7.2.4, starting, Nodegroup: 0)  正在起
 
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.32.22  (mysql-5.5.19 ndb-7.2.4)
 
[mysqld(API)]   3 node(s)
id=21   @202.122.32.68  (mysql-5.5.19 ndb-7.2.4)
id=22   @202.38.128.153  (mysql-5.5.19 ndb-7.2.4)
id=23 (not connected, accepting connect from any host)
   
正常状态
 
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=11   @202.122.32.68  (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master)
id=12   @202.38.128.153  (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0)
 
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.32.22  (mysql-5.5.19 ndb-7.2.4)
 
[mysqld(API)]   3 node(s)
id=21   @202.122.32.68  (mysql-5.5.19 ndb-7.2.4)
id=22   @202.38.128.153  (mysql-5.5.19 ndb-7.2.4)
id=23 (not connected, accepting connect from any host)
 
2、在其中一个SQL节点创建数据库,添加数据。要等启动完再操作。
 
mysql -uroot -p
create database ndbtest;
use ndbtest;
CREATE TABLE `t1` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=ndbcluster  DEFAULT CHARSET=gbk;
 
NDB: Could not acquire global schema lock (266)Time-out in NDB,  
启动完成前 如果在一个节点执行添加数据库的操作,不能同步到其他节点。
 
3、在另一个SQL节点,如果能够存在添加的数据库和数据,则说明配置成功
进入sql节点,在test数据库创建表
CREATE TABLE `t1` (    
  `id` int(11) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`)
) ENGINE=ndbcluster  DEFAULT CHARSET=gbk
切换到2台数据节点服务器~/mysql/data/ndb_2_fs和~/mysql/data/ndb_3_fs看看,
或者直接去数据库查,数据已经同步了!
 关闭集群服务
关闭sql节点等同于停止mysql服务,此时外界数据不将再进来。然后关闭管理节点
~/mysql/bin/ndb_mgm -e shutdown
rm ~/mysql/mysql-cluster/ndb_1_config.bin.1 #不是必须的,如果config.ini有改动则要加上
这样操作后,管理节点和数据节点都将停止服务
Notes:
1:如果发现关闭一台机器的ndbd进程,另一台机器的ndbd的进程也关闭,则需要修改参数NoOfReplicas。
2:./ndbd --initial 不能同时在所有数据节点机器上执行,如执行,会删除所有数据
3:可以像操作非簇类型的数据库那样,操作mysqld节点
4:每次修改config.ini文件,重启ndb_mgmd时,需要删除mysql-cluster文件下的ndb_1_config.bin.1文件,
因为他默认调用此文件 
 
5:NDB 簇不支持自动发现数据库的功能,这点很重要,一旦在一个数据节点上创建了世界(world)数据库和它的表,在簇中的每个SQL节点上还需要发出命令 CREATE DATABASE world,后跟FLUSH TABLES。这样,节点就能识别数据库并读取其表定义。(在本版本MySQL Cluster 7.1.5下数据库也会自动同步的)
6:如果在相关节点服务器启动时,注意查看~/mysql/mysql-cluster目录内的相关日志文件以获取错误信息.
7:在管理节点的配置文件里各[mysqld],[ndbd]和[ndb_mgmd]配置的选项值顺序应该如下:
[mysqld]
Id=4
HostName=192.168.208.3
Id在顶端紧跟其后的是HostName,如果顺序错了,当SQL或数据节点连接管理节点时,管理节点无法正确的定位
到其对应的节点配置上.
因为无法定位到对应的节点配置,当没有剩余的[空节点]时,客户端节点启动时(./mysqld or ./ndbd)
还会报:
Configuration error: Error : Could not alloc node id at 192.168.0.231 port 1186: No free    
node id found for mysqld 
(API).Failed to initialize consumers 
8:[空节点]是没有指定HostName选项的节点配置均为空节点,空节点可以用来动态配置一些动态IP的节点,
一般管理节点的 配置文件要预留3个以上的空节点,因为备份时需要连接一个节点,如下:
[mysqld]
Id=6
# ps -ef|grep mysql
root     13882     1  0 15:25 pts/5    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/dbs1.pid
mysql    14185 13882  0 15:25 pts/5    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/dbs1.err --pid-file=/usr/local/mysql/data/dbs1.pid --socket=/tmp/mysql.sock --port=3306

如果你有好的win10资讯或者win10教程,以及win10相关的问题想要获得win10系统下载的关注与报道。
欢迎加入发送邮件到657025171#qq.com(#替换为@)。期待你的好消息!
北京pk10倍投方法 北京pk10彩票软件 北京快乐8中奖规则 上海时时乐开奖视频 北京快乐8在哪买呀 北京快乐8一天开多少期
pk10冠军技巧5码公式 北京pk10冠亚军技巧 北京赛车pk10冠军公式 北京快乐8走势图 大乐透遗漏走势图 北京赛车pk10必胜玩法
北京pk10冠亚军技巧 北京pk10冠军技巧 北京赛车pk10冠军公式 北京pk10冠军选号技巧 北京pk10冠军选号技巧
北京赛车pk10开奖直接 北京个奇偶睡觉 河南快赢481走势图 北京快乐3走势图 北京赛车pk10开奖结果
早点餐饮加盟 春光早餐工程加盟 早点加盟培训 新尚早餐加盟 早点连锁加盟店
河南早点加盟 中式早点快餐加盟 健康早餐加盟 早餐肠粉加盟 早餐店 加盟
广式早点加盟 安徽早点加盟 健康早餐店加盟 酒店加盟 传统早餐店加盟
哪里有早点加盟 早点车加盟 早点来早餐加盟 早点加盟商 早点快餐加盟
2014三肖中特全年资料 江西时时彩怎么停的 曾道人六合彩 贵州快三下载 福彩开奖结果
辽宁35选7走势图500期 2015四肖中特 河南快三有多少个号 江苏快三开奖结果查询 pc28最近500期开奖记录
河南22选5开奖公告 赛马会娱乐城 湖北快三 辽宁卫视爱的选择直播 河北20选5免费预测
本港台同步报码室 大发快3一分钟和值推荐 江西11选五走势图 深圳风采号码 报码