您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL Cluster 7.2.4集群配置_MySQL

2024/3/9 1:20:35发布14次查看
mysql集群
bitscn.com 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/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 sqlrpm –e mysql...删除/etc/my.cnf   /var/lib/mysql
 关闭防火墙iptables是一个包含在绝大多数linux发行版中的防火墙。在默认安装的rhel中,防火墙是打开的,且随机启动,如果要关闭防火墙,可以使用以下命令:service iptables stop以上命令执行完毕之后效果只能保持到下次重启。重启后的配置就还原了,如果希望能够在重启之后还能够保持防火墙的关闭状态,可以使用以下命令:chkconfig –level 35 iptables off
 关闭selinuxselinux的全称是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-i686cp bin/ndb_mgmd /usr/local/mysql/bincp 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=1hostname=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.153datadir=/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/binmkdir -p /usr/local/mysql/ndbdata拷贝执行文件cp mysql-cluster-gpl-7.2.4-linux2.6-x86_64/bin/ndbd /usr/local/mysql/bin添加执行文件路径vi ~/.bash_profilepath=$path:$home/bin:/usr/local/mysql/bin创建配置文件:vi /etc/my.cnf分别在主机添加如下内容:[mysql_cluster] #配置数据节点连接管理节点ndb-connectstring=192.168.32.223、安装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 mysqluseradd -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/mysqlscripts/mysql_install_db --user=mysql拷贝守护进程所需文件cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld配置守护进程chkconfig –add mysqldchkconfig –level 35 mysqld on添加执行文件路径vi ~/.bash_profilepath=$path:$home/bin:/usr/local/mysql/bin更改配置文件vi /etc/my.cnf分别编辑如下信息:[mysqld]  #配置sql节点与管理节点连接port            = 3306socket          = /tmp/mysql.sockndbclusterndb-connectstring=192.168.32.224、启动及关闭mysql cluster   启动顺序:管理服务器->存储节点->sql节点a、启动管理节点rm mysql/mysql-cluster/ndb_1_config.bin.1 #不是必须的,如果config.ini有改动则要加上ndb_mgmd -f /usr/local/mysql/cluster-conf/config.inib、启动存储节点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 stopb、关闭管理节点ndb_mgm〉 shutdown 5、验证配置的正确性要先启动管理节点 再启动数据节点 等启动完后 再起sql节点 否则会出错1、在管理节点执行:ndb_mgm -> show ndb_mgm> showcluster 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> showcluster 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 -pcreate 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 shutdownrm ~/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=4hostname=192.168.208.3id在顶端紧跟其后的是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 mysqlroot     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.pidmysql    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 
 作者 bigshuai bitscn.com
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product