amoeba305安装配置手册剖析Word文档格式.docx
《amoeba305安装配置手册剖析Word文档格式.docx》由会员分享,可在线阅读,更多相关《amoeba305安装配置手册剖析Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
1、
通过程序实现,网上很多现成的代码,比较复杂,如果添加从服务器要更改多台服务器的代码。
2、
通过mysql-proxy来实现,由于mysql-proxy的主从读写分离是通过lua脚本来实现,目前lua的脚本的开发跟不上节奏,而写没有完美的现成的脚本,因此导致用于生产环境的话风险比较大,据网上很多人说mysql-proxy的性能不高。
3、
自己开发接口实现,这种方案门槛高,开发成本高,不是一般的小公司能承担得起。
4、利用阿里巴巴的开源项目Amoeba来实现,具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库,并且安装配置非常简单。
三、快速架设amoeba,实现mysql主从读写分离
假设amoeba的前提条件:
JavaSE1.5或以上Amoeba框架是基于JDK1.5开发的,采用了JDK1.5的特性。
支持Mysql协议版本10(mysql4.1以后的版本)。
1、首先介绍下我的实验环境。
System:
CentOSLinuxrelease7.2.1511
Javaversion:
openjdkversion"
1.8.0_65"
Mastermysql:
10.10.141.34
Slavemysql:
10.10.141.35
Amoebaserver:
10.10.141.33
Amoebaformysql官网:
2、安装配置mysql主从环境,mysql的安装省略
具体参考《MYSQL数据库主从配置手册》
3、安装JDK环境
由于amoeba基于JDK1.5开发的,采用了JDK1.5的特性。
[root@mysql-test-141-33software]#ls-lrt
总用量1364712
-rwxrwxrwx1rootroot5487746983月2819:
57mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz
-rw-r--r--1rootroot1603481603月3021:
49data20160329.tar
-rw-r--r--1rootroot336745月415:
27mysqlsla-2.03.tar.gz
drwxr-xr-x5zabbixzabbix40965月415:
31mysqlsla-2.03
-rw-r--r--1rootroot6825302315月1109:
24pdr.zip
-rw-r--r--1rootroot57617145月2319:
08amoeba-mysql-3.0.5-RC-distribution.zip
卸载openjdk版本。
[root@mysql-test-141-33~]#java-version
openjdkversion"
1.8.0_91"
OpenJDKRuntimeEnvironment(build1.8.0_91-b14)
OpenJDK64-BitServerVM(build25.91-b14,mixedmode)
用root用户登陆到系统
#rpm-qa|grepgcj
显示内容其中包含下面两行信息
#java-1.4.2-gcj-compat-1.4.2.0-27jpp
#java-1.4.2-gcj-compat-devel-l.4.2.0-27jpp
卸载
#rpm-ejava-1.4.2-gcj-compat-devel-l.4.2.0-27jpp
#rpm-ejava-1.4.2-gcj-compat-l.4.2.0-27jpp
卸载其他自己安装的JDK就直接用rpm-e<
javaXXXXX>
卸载rpm版的jdk:
#rpm-qa|grepjdk
显示:
jdk-1.6.0_10-fcs
卸载:
#rpm-e
--nodeps
jdk-1.6.0_10-fcs
#mkdir–p/usr/local/java
#wget--no-check-certificate--no-cookies--header"
Cookie:
oraclelicense=accept-securebackup-cookie"
--rpm版本
#tar-zxvfjdk-7u71-linux-x64.tar.gz-C/usr/local/java
#vi.bash_profile---在文件里面添加jdk的环境变量,添加内容如下
exportJAVA_HOME=/usr/local/java/jdk1.7.0_71
exportPATH=$JAVA_HOME/bin:
$JAVA_HOME/jre/bin:
$PATH
#source/root/.bash_profile
[root@test-135-52~]#java-version
javaversion"
1.7.0_371"
[root@test-135-52~]#whichjava
/usr/local/java/jdk1.6/bin/java
4、安装和验证AmoebaforMySQL
AmoebaForMySQL的使用非常简单,所有的配置文件都是标准的XML文件,总共有四个配置文件.分别为:
◆amoeba.xml:
主配置文件,配置所有数据源以及Amoeba自身的参数设置,实现主从的话配置这个文件就可以了;
◆
rule.xml:
配置所有Query路由规则的信息;
functionMap.xml:
配置用于解析Query中的函数所对应的Java实现类;
◆rullFunctionMap.xml:
配置路由规则中需要使用到的特定函数的实现类;
#/*以下部分为注解
#/*Amoeba总共有7个配置文件,分别如下:
#/*Amoeba主配置文件($AMOEBA_HOME/conf/amoeba.xml),用来配置Amoeba服务的基本参数,如Amoeba主机地址、端口、认证方式、用于连接的用户名、密码、线程数、超时时间、其他配置文件的位置等。
#/*数据库服务器配置文件($AMOEBA_HOME/conf/dbServers.xml),用来存储和配置Amoeba所代理的数据库服务器的信息,如:
主机IP、端口、用户名、密码等。
#/*切分规则配置文件($AMOEBA_HOME/conf/rule.xml),用来配置切分规则。
#/*数据库函数配置文件($AMOEBA_HOME/conf/functionMap.xml),用来配置数据库函数的处理方法,Amoeba将使用该配置文件中的方法解析数据库函数。
#/*切分规则函数配置文件($AMOEBA_HOME/conf/ruleFunctionMap.xml),用来配置切分规则中使用的用户自定义函数的处理方法。
#/*访问规则配置文件($AMOEBA_HOME/conf/access_list.conf),用来授权或禁止某些服务器IP访问Amoeba。
#/*日志规格配置文件($AMOEBA_HOME/conf/log4j.xml),用来配置Amoeba输出日志的级别和方式。
#配置后端mysql服务器连接[dbServer.xml]
安装和验证AmoebaforMySQL
[root@mysql-test-141-33]#mkdir-p/apps/amoeba
[root@mysql-test-141-33]#cp/apps/software/amoeba-mysql-3.0.5-RC-distribution.zip/apps/amoeba
[root@mysql-test-141-33]#cd/apps/amoeba
[root@test-135-52amoeba]#ls-lrt
[root@mysql-test-141-33]#unzipamoeba-mysql-3.0.5-RC-distribution.zip
[root@mysql-test-141-33]#/apps/amoeba/amoeba-mysql-3.0.5-RC/bin/launcher
/apps/amoeba/amoeba-mysql-3.0.5-RC/bin/launcher&
--启动
/apps/amoeba/amoeba-mysql-3.0.5-RC/bin/shutdown--关闭
ps-ef|greplauncher
[root@mysql-test-141-33bin]#ps-ef|greplauncher
root143521010:
11?
00:
00:
00/bin/bash./launcher
root1614713196010:
35pts/100:
root1615916147110:
02/usr/local/java/jdk1.7.0_71/bin/java-server-Xms1024m-Xmx1024m-Xss256k-XX:
PermSize=16m-XX:
MaxPermSize=96m-Dproject.home=/apps/amoeba/amoeba-mysql-3.0.5-RC-Damoeba.home=/apps/amoeba/amoeba-mysql-3.0.5-RC-Dproject.name=Amoeba-MySQL-Dproject.output=/apps/amoeba/amoeba-mysql-3.0.5-RC/logs-Dignore.signals=1,2-Dclass