mysql集群安装配置

看到阿里去IOE,心动不如行动,搭建实现mysql的集群存储。

1. 了解MySQL集群

减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库。把几个MySQL数据库公用的数据做出共享数据,例如购物车,用户对象等等,存在数据结点里面。其他不共享的数据还维持在各自分布的MySQL数据库本身中。

MySQL Cluster Components

2. 集群MySQL中名称概念.(如上图)

1)Sql结点(SQL node--上图对应为MySQLd):分布式数据库。包括自身数据和查询中心结点数据.

2)数据结点(Data node -- ndbd):集群共享数据(内存中).

3)管理服务器(Management Server – ndb_mgmd):集群管理SQL node,Data node.

3.配置

MySQL-max版本,现在MySQL集群系统windonws平台上面不被支持.

操作系统:
[root@APP-NO2 ~]# uname -a
Linux APP-NO2 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
  
软件包:
MySQL-Cluster-gpl-7.3.8-1.rhel5.i386.rpm-bundle.tar
MySQL-Cluster-server-gpl-7.3.8-1.rhel5.i386.rpm

管理节点: 192.168.1.41 (2G)

数据节点: 192.168.1.38 ,192.168.1.49 (3G)

sql节点: 192.168.1.40(2G),192.168.1.42 (3G)

4.安装

服务器添加用户

#增加用户:
userdel mysql
groupadd mysql
useradd mysql -g mysql

#清除原理机器上的mysql:
rpm -qa mysql*
rpm -e --nodeps mysql-server-5.1.66-2.el6_3.x86
rpm -e --nodeps mysql-devel-5.1.66-2.el6_3.x86
rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86
rpm -e --nodeps mysql-5.1.66-2.el6_3.x86


管理节点

#创建管理节点日志目录

mkdir /var/lib/mysql-cluster
chmod -R 1777 /var/lib/mysql-cluster
vi /var/lib/mysql-cluster/config.ini

[NDBD DEFAULT] 
NoOfReplicas=2
DataDir=/var/mysql/data  

#此值按数据库大小设置,官方给出了公式
#(内存) 数据大小 *副本 * 1.25 = 数据库内存总需求
#实例:50 GB * 2 * 1.25 = 125 GB
#(数据大小 *副本 * 1.25)/节点数 = 每个节点的内存大小
#实例:(2 GB * 2 * 1.25)/4 = 1.25 GB
DataMemory=5120M
IndexMemory=400M

#此值设置为1的时候,ndb将不会把数据写入磁盘(意思就是shutdown后数据库就没了)
Diskless=0
#速度快,你可以改为1试试,具体含义参考mysql官方文档
ODirect=0

RedoBuffer=32M

[TCP DEFAULT]
SendBufferMemory=32M
ReceiveBufferMemory=32M

#设置管理节点服务器 
[NDB_MGMD]                
nodeid=1
HostName=192.168.1.41               
DataDir=/var/lib/mysql-cluster      

[NDBD]
nodeid=2                             
HostName=192.168.1.38            
DataDir=/var/mysql/data                         

[NDBD]
nodeid=3                           
HostName=192.168.1.39          
DataDir=/var/mysql/data        
                               
[MYSQLD]                                  
nodeid=4                            
HostName=192.168.1.40           

[MYSQLD]                                   
nodeid=5                               
HostName=192.168.1.42                                                   

#必须有空的mysqld节点,不然数据节点断开后启动有报错
[MYSQLD]
nodeid=6
[MYSQLD]
nodeid=7

#启动管理节点

ndb_mgmd -f /var/lib/mysql-cluster/config.ini
ndb_mgm
ndb_mgm> show


数据节点

rpm -ivh MySQL-Cluster-server-gpl-7.3.8-1.rhel5.i386.rpm

#创建存储目录
mkdir -p /var/mysql/data
chmod -R 777 /var/mysql/data

#安装数据库
cd /usr/bin
mysql_install_db --user=mysql --datadir=/var/mysql/data

#创建my.cnf 配置文件

vi /etc/my.cnf
[CLIENT]
socket=/var/mysql/mysql.sock

[MYSQLD]
datadir=/var/mysql/data
user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin = /var/mysql/log/mysql-bin.log
max_connections=1000

ndbcluster 
ndb-connectstring=192.168.1.41

[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.41
[NDB_MGM]
connect-string=192.168.1.41

[MYSQLD_SAFE]
log-error=/var/mysql/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

port=3306


chmod 644 /etc/my.cnf

#启动ndbd服务
ndbd服务第一次启动时需要加上--initial选项,以后不需要
ndbd --initial


SQL节点

#安装server包和client包
cd /opt/mysql
rpm -ivh MySQL-Cluster-server-gpl-7.3.6-2.el6.x86.rpm
rpm -ivh MySQL-Cluster-client-gpl-7.3.6-2.el6.x86.rpm
mkdir -p /var/run/mysqld/
chmod -R 777 /var/run/mysqld/

#安装数据库
cd /usr/bin
mysql_install_db --user=mysql --datadir=/var/mysql/data

#创建my.cnf 配置文件,参考数据节点配置


#启动SQL节点
mysqld_safe --user=mysql &

配置完成, 按管理节点->数据节点->sql节点的次序依次启动


注意:

[MgmtSrvr] WARNING  -- 1011 Unable to connect with connect string: nodeid=0,localhost:1186报错

/etc/hosts文件配置问题


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值