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

[经验分享] MyCAT+MySQL搭建

[复制链接]

尚未签到

发表于 2018-9-28 12:06:01 | 显示全部楼层 |阅读模式
  Mycat安装部署
  1下载jdk: http://www.oracle.com/technetwork/java/javase/archive-139210.html,建议用7就好
  jdk-7u55-linux-i586.tar.gz
  解压包:tar –zxvf jdk-7u55-linux-i586.tar.gz
  包文件:http://down.51cto.com/data/2281695
  存放在/usr/local:mv jdk1.7.0_55 /usr/local/jdk
  添加环境变量:
  Vim /etc/profile
  exportJAVA_HOME=/usr/local/jdk
  exportJRE_HOME=${JAVA_HOME}/jre
  exportCLASSPATH=.:${JAVA_HOME}/lib:${jre_home}/lib
  exportPATH=${JAVA_HOME}/bin:$PATH
  执行生效: source /etc/profile
  vim /etc/environment environment
  export_JAVA_OPTIONS="-Xms64m -Xmx64m -Xmn32m"
  执行生效:source /etc/
  检查/usr/bin/java是否已经存在链接
  #ll/usr/bin/java  若存在删除,rm –rf/usr/bin/java
  添加新链接:ln –s /usr/local/jdk/bin/java /usr/bin/
  测试是否OK:
  # java -version
  Picked up _JAVA_OPTIONS: -Xms64m -Xmx64m-Xmn32m
  java version "1.7.0_55"
  Java(TM) SE Runtime Environment (build1.7.0_55-b13)
  Java HotSpot(TM) Client VM (build24.55-b03, mixed mode)
  若启动报错话:
DSC0000.png

  yum install glibc.i686 -y
  ##############JDK安装完成。
  2、安装MyCat
  添加mycat用户,并设置密码
  #useradd mycat
  #passwd mycat
  下载mycat建议使用1.5版本
  Mycat-server-1.5.1-RELEASE-20160405120037-linux.tar.gz
  解压到/usr/local目录下
  #tar –zxvf Mycat-server-1.5.1-RELEASE-20160405120037-linux.tar.gz–C /usr/local/
  定义所属的用户和主
  Chown –R mycat.mycat /usr/local/mycat
  添加mycat用户,并设置密码
  #useradd mycat
  #passwd mycat
  修改配置文件:
  vim/usr/local/mycat/conf/wrapper.conf
DSC0001.png

  wrapper.java.command=/usr/local/jdk/bin/java
DSC0002.png

  [Err] 1064 -com.alibaba.druid.sql.parser.ParserException: syntax error, expect RPAREN, actualERROR DURATION
  Encountered an error running main:java.lang.ExceptionInInitializerError
DSC0003.png

  创建链接:
  #ln –s /usr/local/mycat/bin/mycat /usr/bin/
  启动mycat
  #mycat start
  支持的参数:
  mycat --help
  Usage: /usr/bin/mycat { console | start |stop | restart | status | dump }
  启动过程可能有问题,主要查看日志:/usr/local/mycat/logs/ wrapper.log,可以开启debug功能,或者在启动时候执行#mycatconsole查看执行过程
  添加本地解析:
  # [root@data3 logs]# hostname
  data3
  #vim /etc/hosts#写自己本机IP和HOSTNAME
  再次启动基本没问题:mycat简单搭建完毕:
  #mycat start
  # ps -ef |grep mycat
  查看进程状态
  #ps faux |grep mycat
  端口开启(同时打开防火墙)
  #netstat –ant |grep 8066
  测试:
  #mysql -utest -ptest –h192.168.28.71 -P8066 –DTESTDB
  其中8066是mycat的监听端口,其中-u,-p,-h分别是用户名,密码和主机,-D是连接的逻辑库
  ####登录的用户名和密码是mycat默认提供的,只能读模式,配置文件在vim /usr/local/mycat/conf/server.xml
DSC0004.png

  启动mycat报错信息,主要是由于没修改这个配置文件信息:
  1、Error: Could notcreate the Java Virtual Machine.
  INFO  | jvm 4    | 2016/05/18 01:33:03 |Error: A fatal exception has occurred. Program will exit
  大概原因,就是java堆内存不足以运行JVM,需要增加内存
  1、        Linux修改环境变量 vim/etc/environment
  增加此行:export  _JAVA_OPTIONS="-Xms64m -Xmx64m -Xmn32m"
  其中的64m表示使用64M的内存。-Xms是堆的最小大小,-Xmx是堆的最大值,-Xmn是堆中的新生代最小值。Xmn中的值不能超过总的堆内存大小
  知识普及:
  Xmx:设置JVM最大可用内存
  Xms:设置JVM初始化内存
  Xmn:设置年年轻代内存大小,整个JVM内存大小=年轻代大小+年老代大小+持久化大小,持久代一般固定大小为64M,所以增的年轻代后,将会减小年老代大小,此值对系统性能影响较大,官方推选配置为整个堆的3/8
  Xss:设置每个线程的堆栈大小
  Source /etc/environment
  1、             添加JDK的环境变量:vim /etc/profile 添加完source /etc/profile 执行生效
  exoprt JAVA_HOME=/usr/local/mycat/jdk
  export JRE_HOME=${JAVA_HOME}/jre
  exportCLASSPATH=.:${JAVA_HOME}/lib:${jre_home}/lib
  export PATH=${JAVA_HOME}/bin:$PATH
  3、执行过程还报错:
  jvm 1   | WrapperSimpleApp: Encountered an error running main:java.lang.OutOfMemoryError: Direct buffer memory
  jvm 1   | java.lang.OutOfMemoryError: Direct buffer memory
  修改mycat的配置文件:
  Vim /usr/local/mycat/conf/ wrapper.conf
  启动前,一般需要修改JVM配置参数,默认下行的内容为2G和4G,可根据本机配置情况修改为512M或者其他值
DSC0005.png

  # conf/server.xml   #用来定义系统相关变量
  XML的格式就是各类标签
  注释标签:
  定义服务配置范围标签:
  
  
  #system标签:
  这个标签用来框定系统配置范围,用来保存几乎所有mycat需要的系统配置信息(其在代码内直接的映射类为SystemConfig )
  #property:用来定义服务的具体参数
  #user:用来设定一个用户的权限相关
  ######################自定义个前端的应用连接用户
DSC0006.png

DSC0007.png

  #maxCon:一个读写实例链接迟的最大连接数
  #minCon:一个读写实例链接迟的最小连接数,初始化连接池的大小
  #balance:负载均衡类型:0代表不开启读写分离机制,只使用writeHost;1代表readOnly与writeHost分担请求模式, 2 代表随机分配读请求和1类似; 3 代表只由readHost来承担读请求
  #writeType: 负载均衡类型:0 代表发到第一个writeHost,挂了后切到还生存的第二个writeHost,重新启动后以切换后的为准,也就是不漂回;1 代表写操作随机发送到writeHost,这样不安全;
  dbType:后端数据库类型
  #switch Type:切换类型:-1代表不切换,1代表自动切换,2代表基于主从同步状态决定是否切换
  #slave Threshold#SLAV读的安全边界,如果seconds_behind_master大于这个值,这台slave会被临时剔除,以免被读
  #heartbeat:包含一个语句,用语句执行成功与否来判定数据库的可用性
  # conf/rule.xml    #用来定义分片规则
  定义了一个 mod-long 的分片规则,对 id 列进行分片,使用 mod-long 算法;(默认)
  #####注意:
  ML中定义的标签有顺序,如果不按照顺序进行配置,会报错。
  比如 schema.xml 中的顺序为
  ·       1.定义 schema
  ·       2.定义 dataNode
  ·       3.定义 dataHost
  如果不按顺序,会无法启动mycat,并且 mycat.log 中会报错
  *****************到此结束,重新启动mycat,根据之前定义好的逻辑库库名和表名在中间层添加。使用在配置文件中定义的用户名,此用户名主要提供给前端应用使用。添加定义好的表名,若添加不存在的表报错: optable not in schema----AA
  # mysql -h192.168.28.71 -P8066 -uaaa –paaa -Dcctest


运维网声明 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-603276-1-1.html 上篇帖子: MySQL大数据优化以及分解(下篇) 下篇帖子: ubuntu下安装unixODBC(mysql)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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