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

[经验分享] MySql集群配置

[复制链接]

尚未签到

发表于 2018-9-30 11:21:20 | 显示全部楼层 |阅读模式
  根据老大技术储备的安排,近段时间搞了一下MySql集群,现在把配置的过程和大家分享一下。
  

  首先去http://www.mysql.com/downloads/cluster#downloads下载MySql的集群版本。原来在网上查了好多说明,都是说用什么MySql的max版本,你抄我的我抄你的,都是不能用。好了,废话不多说,一下是配置过程。
  我下载的版本是mysql-cluster-gpl-7.1.3的linux版本。
  一、检查linux环境:
  检查监控端口(1186)和数据端口(3306)是否打开。第一次配置的时候,1186被防火墙关闭,怎么也不成功,后来关了防火墙好了。
  二、配置管理节点:
  1、解压下载的MySql压缩包,tar -zxvf   MySql.tar.gz(文件名是你下载的文件的名称)
  2、把解压后的目录复制到/usr/local/mysql下
  3、在mysql下创建mysql-cluster文件夹,进入文件夹,创建config.ini文件,在文件中写入以下内容:
http://file:///C:/DOCUME%7E1/jfzhang/LOCALS%7E1/Temp/moz-screenshot.png# Options affecting ndbd processes on all data nodes:

  

  
[NDBD DEFAULT]
  

  
NoOfReplicas=2        # Number of replicas
  
DataMemory=80M        # How much memory to allocate for data storage
  
IndexMemory=18M       # How much memory to allocate for index storage
  
                      # For DataMemory and IndexMemory, we have used the
  
                      # default values. Since the "world" database takes up
  
                      # only about 500KB, this should be more than enough for
  
                      # this example Cluster setup.
  
# TCP/IP options:
  
[TCP DEFAULT]
  
portnumber=1186       # This the default; however, you can use any
  
                      # port that is free for all the hosts in cluster
  
                      # Note: It is recommended beginning with MySQL 5.0 that
  
                      # you do not specify the portnumber at all and simply allow
  
                      # the default value to be used instead
  

  
# Management process options:
  
[NDB_MGMD]
  
hostname=192.168.81.129               # Hostname or IP address of MGM node
  
datadir=/usr/local/mysql/mysql-cluster  # Directory for MGM node logfiles
  
# Options for data node "A":
  
[NDBD]
  
hostname=192.168.81.130               # Hostname or IP address
  
datadir=/usr/local/mysql/data       # Directory for this data node's datafiles
  

  
# Options for data node "B":
  
[NDBD]
  
hostname=192.168.81.131               # Hostname or IP address
  
datadir=/usr/local/mysql/data       # Directory for this data node's datafiles
  

  
# SQL node options:
  
[MYSQLD]
  
hostname=192.168.81.132
  
[MYSQLD]
  
hostname=192.168.81.133
  
其中,NoOfReplicas表示一个数据在几个存储节点存储,推荐设为2,这样的话,在一个服务器出错的情况下,数据还能正常处理。其他的内存大小的设置,根据具体情况设置,我是在本地装的虚拟机,没有做具体的测试。
  4、启动管理节点:
  

进入mysql的bin目录下,执行./ndb_mgmd -f /var/lib/mysql-cluster/config.ini(在以后修改ndb_1_config.bin.1,然后重启管理节点即可)  想查看mysql集群,执行bin目录下的
ndb_mgm,在里面输入show命令就可以查看当前的状态。  三、安装存储节点(NDBD)和SQL节点:
  安装存储节点和SQL节点都执行如下操作:
  1、创建mysql用户组和mysql用户:
  groupadd mysql
  useradd -g mysql mysql
  2、解压mysql文件压缩包
  tar -zxvf mysql.tar.gz
  然后把解压后的目录复制为/usr/local/mysql目录
  3、把mysql目录下的data文件夹的权限设为mysql:mysql执行命令chown mysql:mysql data
  4、初始化mysql数据库,在mysql目录下执行./
scripts/mysql_install_db --user=mysql  5、在/etc下创建my.cnf文件,并写入以下内容:
  # Options for mysqld process:
  [MYSQLD]
  ndbcluster                          # run NDB engine
  ndb-connectstring=192.168.81.129  # location of MGM node
  # Options for ndbd process:
  [MYSQL_CLUSTER]
  ndb-connectstring=192.168.81.129  # location of MGM node
  四、启动NDBD节点:
  在mysql的bin目录下,执行./ndbd --initial启动存储节点(第一次启动时,加上initial参数,以后就不用了)
  五、启动SQL节点:
  在mysql的斌目录下,执行./mysqld --user=mysql命令启动SQL节点(为了启动时的方便,可以把user=mysql写入/etc/my.conf文件中)
  通过管理节点查看成功后的状态:
  ndb_mgm> show
  Cluster Configuration
  ---------------------
  [ndbd(NDB)]     2 node(s)
  id=2    @192.168.81.130  (mysql-5.1.41 ndb-7.0.13, Nodegroup: 0, Master)
  id=3    @192.168.81.131  (mysql-5.1.41 ndb-7.0.13, Nodegroup: 0)
  [ndb_mgmd(MGM)] 1 node(s)
  id=1    @192.168.81.129  (mysql-5.1.41 ndb-7.0.13)
  [mysqld(API)]   2 node(s)
  id=4    @192.168.81.132  (mysql-5.1.41 ndb-7.0.13)
  id=5    @192.168.81.133  (mysql-5.1.41 ndb-7.0.13) 注意,在SQL节点中创建表的时候,引擎必须为ndbcluster,否则,无法同步。
  以下为在配置过程中遇到的一些问题及原因,与大家分享:
  1、提示存储节点连接成功,但是管理节点查看状态,两个节点都为
(Nodegroup: 0),并且跟踪mysql-cluster下的log, 两个存储节点一直交替提示正在连接。 原因:管理节点和存储节点的1186端口别防火墙屏蔽,无法正常传递信息。 2、创建表时,表引擎虽然指定为ndbcluster,但是提示无法创建表(不好意思,具体提示的信息忘了) 原因:是SQL节点的1186和3306端口没有打开,找不到管理节点的时候,提示无法创建。 偶觉得提示的错误信息有歧义,当时查了好多资料都说没有写的权限。郁闷了好一阵子。  

  





运维网声明 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-606671-1-1.html 上篇帖子: Mysql数据同步(双向) 下篇帖子: 配置 MySQL cluster
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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