构建具有负载均衡功能MySQL集群 PART 1

过去的五天都在研究MySQL集群和负载均衡,GOOGLE了,看了N多的资料。感觉颇多有用的资料都是英文的,看来英文水平真是值得老板们和员工们重视啊。经过在有用的和无用的资料堆中翻滚、挣扎,今天终于把这个MySQL集群搞定。

一、系统平台:所有节点采用CentOS 5

二、网络结构(三台机器):
      Data Node 1: 192.168.0.10
      Data Node 2: 192.168.0.11
                     
      NDB Management Node: 192.168.0.12

      SQL Node 1: 192.168.0.10
      SQL Node 2: 192.168.0.11

三、下载、安装软件
      1、下载安装包(http://mirrors.24-7-solutions.net/pub/mysql/Downloads/MySQL-5.0/)
      NDB Management Node: MySQL-ndb-management-5.0.51a-0.glibc23.i386.rpm MySQL-ndb-tools-5.0.51a-0.glibc23.i386.rpm
      SQL Nodes: MySQL-server-5.0.51a-0.glibc23.i386.rpm MySQL-client-5.0.51a-0.glibc23.i386.rpm MySQL-shared-5.0.51a-0.glibc23.i386.rpm
      Data Nodes: MySQL-ndb-storage-5.0.51a-0.glibc23.i386.rpm
      2、在各节点中安装相应的包,如提示存在包依赖问题,解决之。

四、配置文件
      1、config.ini (NDB Management Node):
      [NDBD DEFAULT]
      NoOfReplicas=2
      # NDB Management Node
      [NDB_MGMD]
      id=1
      hostname=192.168.0.12
      datadir=/var/lib/mysql-cluster
      # Data Nodes
      [NDBD]
      id=2
      hostname=192.168.0.10
      [NDBD]
      id=3
      hostname=192.168.0.11
      # SQL Nodes
      [MYSQLD]
      id=4
      hostname=192.168.0.10
      [MYSQLD]
      id=5
      hostname=192.168.0.11

      其中SQL Node的 hostname 不是必须的。
      
      2、my.cnf (Data Node and SQL Node)
      # Options for mysqld process:
      [mysqld]
      ndbcluster                      # run NDB storage engine   
      ndb-connectstring=192.168.0.12  # location of management server

      # Options for ndbd process:
      [mysql_cluster]                 
      ndb-connectstring=192.168.0.12  # location of management server

五、初始启动
      NDB Management Node: ndbd_mgmd -f /etc/config.ini
      Data Nodes: ndbd --initial
      SQL Nodes: service mysql restart  (注意要restart)
      全部启动完后,回到 NDB Management Node,将看到整个MySQL Cluster 的状态(注意此处 IP 不同):


六、测试
      在 SQL Node 1 依次执行以下操作:

      (未完待续)