[推荐]安装环境及MYSQL软件_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2236 | 回复: 0   主题: [推荐]安装环境及MYSQL软件        下一篇 
lxk
注册用户
等级:上尉
经验:547
发帖:109
精华:0
注册:2011-8-18
状态:离线
发送短消息息给lxk 加好友    发送短消息息给lxk 发消息
发表于: IP:您无权察看 2014-11-19 11:22:56 | [全部帖] [楼主帖] 楼主

公司MYSQL集群安装环境为Red hat 5或Client OS6.8

MSQL集群软件版本为7.2.8(http://www.mysql.com/downloads/cluster/)

MYSQL集群安装

a)         节点配置

1.Wget MYSQL软件包至 /software下

2.对MYSQL软件包进行解压

Tar –zxvf mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz


3.将目录移至/usr/local,并重命名为mysql

Mv mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz mysql
Cd /usr/local/mysql


4.新建mysql用户组及用户

Groupadd mysql
Useradd –g mysql mysql


5.初始

Sciprts/mysql_install_db –user=mysql


6.对 mysql用户修改权限

Chown –R root .
Chown –R mysql data
Chgrp –R mysql .


7.将mysql.server放为init.d中

Cp support-files/mysql.server /etc/rc.d/init.d/mysqld


8.权限

Chmod +x /etc/rc.d/init.d/mysqld
Chkconfig ---add mysqld
(*此时不要启动Mysql)


b) 管理节点配置

1.将mysql软件包wget下来并解压

2.将有关管理工具移至bin目录

Tar –zxvf mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz
Rm mysql-cluster-gpl-7.2.8-linux2.6-x86_64.tar.gz
Mkdir /usr/src/mysql-mgm
Cd /usr/src/mysql-mgm
Mv mysql-cluster-gpl-7.2.8-linux2.6-x86_64/bin/ndb_mgm .
Mv mysql-cluster-gpl-7.2.8-linux2.6-x86_64/bin/ndb_mgmd .
Chmod +x ndb_mg*
Mv  ndb_mg* /usr/bin
Cd
Rm –rf /usr/src/mysql-mgm


         C) 配置配置文件

   1.在管理节点上配置config.ini文件

Mkdir /var/lib/mysql-cluster
Cd /var/lib/mysql-cluster
Vi config.ini


    在config.ini中添加如下内容:

[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Managment Server
[NDB_MGMD]
HostName=192.168.0.3 #管理节点服务器Server3的IP地址
# Storage Engines
[NDBD]
HostName=192.168.0.1 #MySQL集群Server1的IP地址
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=192.168.0.2 #MySQL集群Server2的IP地址
DataDir=/var/lib/mysql-cluster
[MYSQLD]


2.在节点机子上配置

# vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring=192.168.0.3 #Server3的IP地址
[mysql_cluster]
ndb-connectstring=192.168.0.3 #Server3的IP地址
mkdir /var/lib/mysql-cluster


3、MYSQL集群管理

   1.MYSQL集群启动

   MYSQL集群启动顺序为:

                   启动管理节点

bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial
bin/ndb_mgm –e show(查看状态)
- NDB Cluster -- Management Client --
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=2    @192.168.0.1  (Version: 4.1.9, Nodegroup: 0, Master)
id=3    @192.168.0.2  (Version: 4.1.9, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1    @192.168.0.3  (Version: 4.1.9)
[mysqld(API)]   2 node(s)
id=4   (Version: 4.1.9)
id=5   (Version: 4.1.9)
ndb_mgm>


                   将节点连接至管理节点

        # /usr/local/mysql/bin/ndbd –initial(第一启动用—initial 启动用start)

                   启动MYSQL节点

# /etc/rc.d/init.d/mysqld start
(*注意第一次启动是需要initial)


MySQL集群问题排除

在安装和使用mysql cluster集群的过程中,遇到了很多问题,现在把那些问题列出来,并复上解决方法,希望大家在以后的使用中能少花时间少走弯路

1、  导入数据的时候遇到如下报错:

ERROR 1005 (HY000) at line 25: Can't create table 'tuge.pangolin_fnc_accountverification' (errno: 140)
Error | 1296 | Got error 738 'Record too big' from NDB


分析原因:表但行数据太大

解决办法:需要更改表结构,使最大单行数据的大小小于8KB!

2、  导入大量数据的时候遇到如下报错

Error 1297: Got temporary error 'REDO' log overloaded.
ERROR : Got temporary error 1204 'Temporary failure, distribution changed' from NDBCLUSTER
ERROR : Got temporary error 1234 'REDO log files overloaded (increase disk hardware)' from NDBCLUSTER


分析原因:遇到这个错误,是表示redo log用完了,需要增加

解决办法:修改config.ini文件,更改或添加如下参数:

FragmentLogFileSize=256M
NoOfFragmentLogFiles=16


NoOfFragmentLogFiles这个参数可以更改到更大,但是初始化的时候会慢一点

3、  在导入大量数据的时候,出现如下报错:

ERROR 1114 (HY000) at line 54: The table 'gps_led_sendadverthistory' is full


分析原因:你分配的内存或者硬盘空间已经用完(如果你采用磁盘表的话),需要通过ndb管理节点客户端和登录mysql查看具体的原因,通过ndb_mgm登录,执行命令:

All report memory看下分配的内存是否使用完,如果采用磁盘表的,还需要登录mysqld节点,然后执行如下查询,来确定是否是磁盘不足:

SELECT TABLESPACE_NAME, FILE_NAME, EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 AS TOTAL_MB, EXTENT_SIZE*FREE_EXTENTS/1024/1024 AS FREE_MB, EXTRA FROM information_schema.FILES WHERE FILE_TYPE="DATAFILE";


解决办法:如果是数据内存不足的情况,直接更改文件config.ini中[NDBD DEFAULT]下的

DataMemory=11480M
IndexMemory=1024M


根据实际情况加大

如果是采用磁盘表,磁盘文件空间不足的情况,就需要添加磁盘文件,格式如下:

ALTER TABLESPACE ts_1
ADD DATAFILE 'data_4.dat'
INITIAL_SIZE 10240M
ENGINE NDBCLUSTER;


4、  在还原的时候遇到如下报错:

Configuration error: Error : Could not alloc node id at 192.168.100.223 port 1186: Id 12 configured as ndbd(NDB), connect attempted as mysqld(API).
Unable to connect to management server.


分析原因:因为还原的时候会去连接mysqld,而在配置ndb的时候没有添加空的mysqld节点,因此出现这个报错

解决办法:在config.ini添加几个空的mysqld节点,语法如下:

[MYSQLD]
[MYSQLD]
[MYSQLD]
[MYSQLD]


5、  导入大量数据的时候或者执行大量的insert或者update操作的时候,经常会出现如下报错:

ERROR 1297 (HY000) at line 1: Got temporary error 1218 'Send Buffers overloaded in NDB kernel' from NDBCLUSTER


这个报错的原因有几个,第一、是参数SendBufferMemory设置过小,第二、和mysqld的二进制日志有关系,第三、和网络环境有关系

解决办法:查看网络环境是否OK ,是否出现双工模式部队,是否都是千兆网或者百兆网,加大SendBufferMemory的设置,一般2M就够了,设置TotalSendBufferMemory = 256M,最后如果还是出现如此报错,建议关闭mysql的二进制日志,在my.cnf中注释掉相关的参数就可以了,比如:

#log-bin=mysql-bin


6、  错误日志

Status: Temporary error, restart node
Message: System error, node killed during node restart by other node (Internal error, programming error or missing error message, please report a bug)
Error: 2303
Error data: Node 12 killed this node because GCP stop was detected
Error object: NDBCNTR (Line: 273) 0x00000006


分析原因:这个问题是因为undo日志文件空间用完了!

解决办法:增加undo日志空间文件,语法如下:

ALTER LOGFILE GROUP lg_1
ADD UNDOFILE 'undo_2.log'
INITIAL_SIZE 2048M
ENGINE NDBCLUSTER;


7、  还原的时候出现如下报错:

Temporary error: 266: Time-out in NDB, probably caused by deadlock


分析原因:出现这个问题是锁定超过1.2s

解决办法:在config.ini中加入:TransactionDeadLockDetectionTimeOut=10000 默认是1200

8、  创建日志文件组的时候,出现如下报错:

Error CODE : 1528 Failed TO CREATE LOGFILE GROUP


用SHOW WARNINGS;       查看详细报错如下:

Got error 1504 'Out of logbuffer memory' FROM NDB
Failed TO CREATE LOGFILE GROUP


分析原因:是因为SharedGlobalMemory的值比UNDO_BUFFER_SIZE小导致错误

解决办法:把SharedGlobalMemory调大,原来我的UNDO_BUFFER_SIZE为128,但是我的SharedGlobalMemory为80,将SharedGlobalMemory设置成384M解决问题

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论