集群:使用一组服务器提供相同的服务LB :负载均衡集群HA :高可靠集群mysql集群中服务器的角色?1、数据节点  ndbd                      用来储藏数据(表的记录)2、sql节点                     用户访问数据的接口                     执行用户输入的sql语句                     3、管理节点 mgmd                     管理集群中的所有主机                     在启动管理进程时加载,自己的主配置文件,定义集群中各个主机的角色4、客户端:访问数据                    只要有连接数据库服务的工具就可以了   //(mysql-cluster-client)mysql-clusert  提供3种进程管理进程    管理进程运行的管理主机上ndbd进程   运行在数据节点上。sql进程(集群软件包里提供的数据库服务,运行sql节点上)

一、安装提供集群服务的软件包                                                                                                                                      

tar -xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpbundle.tar              rpm -ivh MySQL-Cluster-*.rpm

二、配置管理节点  192.168.1.1

管理集群中的所有主机,启动管理进程时加载自己的主配置文件/etc/config.ini (设置集群中个主机的角色,各个主机角色在运行时参数的设置)

[ndbd  default]                               // 数据节点公共配置[ndb_mgmd]                                    //设置管理主机[ndbd]                                        // 指定数据节点主机[mysqld]                                      // 指定sql节点                                            mkdir   /var/log/mysql-cluster                //自己创建这个目录

 

vim  /etc/config.ini                      //自己编辑这个文件[ndbd  default] NoOfReplicas=2                          //数据节点主机个数DataMemory=80M                         IndexMemory=18M                       [ndb_mgmd]                              //管理节点nodeid=1                          hostname=192.168.1.1        datadir=/var/log/mysql-cluster  [ndbd]                                              //数据节点nodeid=2                          hostname=192.168.1.10 datadir=/var/log/mysql-cluster/data [ndbd]                                             //数据节点nodeid=20                         hostname=192.168.1.20 datadir=/var/log/mysql-cluster/data [mysqld]                                           //mysql节点nodeid=10                              hostname=192.168.1.30  [mysqld]    nodeid=30                              hostname=192.168.1.40:wq

三、配置数据节点  192.168.1.10   192.168.1.20

数据节点用来存储数据,运行数据进程

ping   192.168.1.1mkdir  -p    /var/log/mysql-cluster/data             //自己创建这个目录vim  /etc/my.cnf                                     //自己编辑这个文件[mysqld]datadir=/var/log/mysql-cluster/data        ndb-connectstring=192.168.1.1ndbcluster                         [mysql_cluster]ndb-connectstring=192.168.1.1另一个数据节点配置和这个一样只需 scp /etc/my.cnf

四、配置sql节点  192.168.1.30   192.168.1.40

供用户访问执行sql语句,运行mysql数据服务。

vim  /etc/my.cnf[mysqld]ndbcluster                         default-storage-engine=ndbcluster  [mysql_cluster]ndb-connectstring=192.168.1.1 :wq 另一个mysql节点配置和这个一样只需 scp /etc/my.cnf  root@192.168.1.40:/etc/my.cnf

五、启动集群服务

1 启动管理节点

ndb_mgmd  -f   /etc/config.ininetstat  -untlap  | grep  :1186ps  aux | grep   ndb_mgmdpkill   -9    ndb_mgmd                      //结束进程需要这条口令[root@localhost ~]# ndb_mgm-- NDB Cluster -- Management Client --ndb_mgm> showndb_mgm>exit

2 启动数据节点

[root@localhost ~]#ndbdpgrep   ndbd                  pkill  -9  ndbd                            //结束进程需要这条口令*  ndb 节点进程启动不了,在管理节点和数据节点执行  iptables  -F             service iptables save然后再在数据节点上执行ndbd3 启动sql节点service  mysql  restart

 六、验证集群

解决单点故障      当有一台数据节点down机不会影响服务      当有一台MYSQLdown机也不会影响服务启动mysql时经常出现缺少xxx.pid这个问题,只需要把/var/lib/mysql/下有关日志文件删除就行,  然 后重新启动服务