设为首页 收藏本站
查看: 825|回复: 0

[经验分享] Mysql Cluster-Wesley

[复制链接]

尚未签到

发表于 2018-10-2 08:07:08 | 显示全部楼层 |阅读模式
  十、Mysql集群
  
  
  1.基本概念:
  “NDB” 是一种“内存中”的存储引擎,也是事务型存储引擎,具备ACID属性。
  a.管理(MGM)节点:负责管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。
  b.数据节点:用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。数据节点是用命令“ndbd”启动的。
  c.SQL节点:用来访问 Cluster数据的节点。也就是Mysql服务,可以使用service mysqld start启动。
  管理服务器(MGM节点)负责管理 Cluster配置文件和 Cluster日志。 Cluster中的每个节点从管理服务器检索配置数据,并请求确定管理服务器所在位置的方式。当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器,然后,将这类信息写入 Cluster日志。
DSC0000.png

  
  ■2.集群配置概述
  环境:
  操作系统:centos 6.5 x86_64
  软件:mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz 具体版本可以去官网下载
  管理节点:ip:192.168.1.201
  sql节点-数据节点:ip:192.168.1.202
  sql节点-数据节点:ip:192.168.1.203
  安装依赖包:yum install  libaio-devel  glibc perl  –y
  x32位系统要安装兼容库组:yum groupinstall “Compatibility libraries”
  安装mysql cluster和mysql基本一样只是配置文件和启动方式有所改变,所以基础还是mysql安装
  关闭SElinux及IPtables:
  /etc/init.d/iptables stop  && setenforce 0 && sed –I ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
  ■3.管理节点安装
groupadd mysql  
useradd -g mysql -s /sbin/nologin  -M mysql
  
tar xf mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz
  
cp -r mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64 /usr/local/mysql
  
chown -R root:mysql /usr/local/mysql/
  
chown -R  mysql:mysql /usr/local/mysql/data/
  
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
  
cp -rf /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/
  ■4.修改mysql主配置文件
vim /etc/my.cnf  
[MYSQLD]
  
user = mysql
  
socket = /tmp/mysql.sock
  
basedir = /usr/local/mysql #安装目录
  
datadir = /usr/local/mysql/data #数据库存放目录
  
character-set-server=UTF8
  
ndbcluster #运行NDB存储引擎
  
lower_case_table_names=1 #表名是否区分大小写1为不区分,不然linux下表名是区分大小写的
  
[mysqld_safe]
  
log-error=/var/log/mysqld.log
  
pid-file=/var/run/mysqld/mysqld.pid
  
[MYSQL_CLUSTER]
  
ndb-connectstring=192.168.0.202 #Mysql Cluster管理节点IP
  ■5.创建mysql集群配置文件
mkdir /var/lib/mysql-cluster  
vi /var/lib/mysql-cluster/config.ini
  
[ndbd default]
  
NoOfReplicas=2 #定义在Cluster环境中相同数据的份数,最大为4
  
DataMemory=80M #分配的数据内存大小,根据本机服务器内存适量来分配
  
IndexMemory=18M #设定用于存放索引(非主键)数据的内存段大小
  
#一个NDB节点能存放的数据量是会受到DataMemory和IndexMemory两个参数设置的约束,两者任何一个达到限制数量后,都无法再增加能存储的数据量。如果继续存入数据系统会报错“table is full”。
  
[ndb_mgmd]
  
nodeid=1
  
hostname=192.168.1.201
  
datadir=/var/lib/mysql-cluster/
  
[ndbd]
  
nodeid=2
  
hostname=192.168.1.202
  
datadir=/usr/local/mysql/data
  
[ndbd]
  
nodeid=3
  
hostname=192.168.0.203
  
datadir=/usr/local/mysql/data
  
[mysqld]
  
nodeid=4
  
hostname=192.168.0.202
  
[mysqld]
  
nodeid=5
  
hostname=192.168.0.203
  
[mysqld]
  
[mysqld]

  #一定要留一个空的,以备扩展使用,否则会出现Failed to allocate nodeid No free node>  #配置时, []右边的注释不要加上,否则系统不认
chown mysql.mysql /var/lib/mysql-cluster/config.ini  ■6.两台数据节点和sql节点配置
tar xf mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64.tar.gz  
mv mysql-cluster-gpl-7.3.12-linux-glibc2.5-x86_64 /usr/local/mysql
  
groupadd mysql
  
useradd -g mysql -s /sbin/nologin mysql
  
chown -R root.mysql /usr/local/mysql
  
chown -R mysql.mysql /usr/local/mysql/data
  
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql & #初始化数据库
  
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  
cp /usr/local/mysql/support-files/medium.cnf /etc/my.cnf
  
chmod +x /etc/init.d/mysqld
  
  ■7.修改其mysql配置文件
vi /etc/my.cnf  
[MYSQLD]
  
user=mysql
  
character_set_server=utf8
  
port=3306
  
default-storage-engine=ndbcluster #设置默认是NDB存储引擎
  
datadir=/usr/local/mysql/data
  
basedir=/usr/local/mysql
  
[MYSQL_CLUSTER]
  
ndb-connectstring=192.168.1.201 #mysql cluster 管理节点IP
  ■8.测试
  a.启动管理节点
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial    #启动管理节点  
netstat -tulnp | grep 1186    #查看启动端口
  
tcp        0      0 0.0.0.0:1186                0.0.0.0:*                   LISTEN      1451/ndb_mgmd
  #--initial:第一次启动时加上,其它时候不要加,不然会数据清空,除非是在备份、恢复或配置变化后重启时。
  如果启动出现报错:把config.ini里设置的nodeid都给删除即可!
  b.查看集群状态
  /usr/local/mysql-cluster/bin/ndb_mgm -e show
  c.查看集群内存使用情况
ndb_mgm> all report memoryusage;  
Node 2: Data usage is 0%(5 32K pages of total 2560)
  
Node 2: Index usage is 0%(8 8K pages of total 3104)
  
Node 3: Data usage is 0%(5 32K pages of total 2560)
  
Node 3: Index usage is 0%(8 8K pages of total 3104)
  d.测试数据库是否同步
# /usr/local/mysql-data/bin/mysql -uroot -p  
mysql> show databases;
  
在一台上创建,另外台查看
  
或:
  
ls /data/test/dbo/
  
db.opt
  
建立集群数据
  
mysql> create table t1(id 1);
  
mysql> show tables;
  
+---------------+
  
| Tables_in_dbo |
  
+---------------+
  
| t1            |
  
+---------------+
  
1 row in set (0.00 sec)
  
如果默认不指定引擎为ndbcluster则存储为本机
  
mysql> create table t2(id int ,name varchar(20)) engine ndbcluster;
  
Query OK, 0 rows affected (1.23 sec)
  
ls /data/test/dbo/
  
db.opt  t1.frm  t1.MYD  t1.MYI  t2.frm  t2.ndb
  
ls /data/test/dbo/
  
db.opt  t2.frm  t2.ndb
  ■9.关闭启动顺序
  关闭集群顺序:SQL节点->数据节点->管理节点 或者使用# ./ndb_mgm -e shutdown命令关闭集群
  启动集群顺序: 管理节点->数据节点->SQL节点



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-607341-1-1.html 上篇帖子: MySQL基于SSL的半同步复制 下篇帖子: Mysql 集群
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表