Mysql 集群配置<o:p></o:p>
1 下载sequoia 安装文件并安装(安装前提需要安装jdk,可以下载图形安装(需要安装x11支持),也可以二进制的安装文件)
2 将mysql驱动拷贝到driviers 目录下
3 配置controll 文件(根据安装后的domo和实际情况进行配置)例如:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SEQUOIA-CONTROLLER PUBLIC "-//Continuent//DTD SEQUOIA-CONTROLLER <st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.10.4</st1:chsdate>//EN" "http://sequoia.continuent.org/dtds/sequoia-controller-2.10.4.dtd">
<SEQUOIA-CONTROLLER>
<Controller ipAddress="127.0.0.1" port="25322">
<JmxSettings>
<RmiJmxAdaptor port="1090"/>
</JmxSettings>
<VirtualDatabase configFile="mysql-1.xml" virtualDatabaseName="myDB" autoEnableBackends="true"/>
</Controller>
</SEQUOIA-CONTROLLER>
<o:p> </o:p>
配置文件说明:<o:p></o:p>
ipAddress: 指controller指向的ip地址<o:p></o:p>
port(25322):监听端口<o:p></o:p>
port(1090):controller的jmx的监听端口<o:p></o:p>
configFile:虚拟数据库配置文件
virtualDatabaseName :虚拟数据库的名称<o:p></o:p>
<o:p> </o:p>
4 配置虚拟数据库,根据实际数据库来配置虚拟数据库(根据安装后的domo和实际情况进行配置)例如:
<o:p> </o:p>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA PUBLIC "-//Continuent//DTD SEQUOI<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">A 2.10.4</st1:chsdate>//EN" "http://sequoia.continuent.org/dtds/sequoia-2.10.4.dtd">
<SEQUOIA>
<VirtualDatabase name=" myDB ">
<Distribution>
<MessageTimeouts/>
</Distribution>
<Backup>
<Backuper backuperName="Octopus"
className="org.continuent.sequoia.controller.backup.backupers.OctopusBackuper"
options="zip=true"/>
</Backup>
<AuthenticationManager>
<Admin>
<User username="admin" password=""/>
</Admin>
<VirtualUsers>
<VirtualLogin vLogin="user" vPassword=""/>
</VirtualUsers>
</AuthenticationManager>
<DatabaseBackend name="localhost1" driver="com.mysql.jdbc.driver" url="jdbc:mysql://192.168.0.6:3306/myDB" connectionTestStatement="select 1" >
<ConnectionManager vLogin="user" rLogin="root" rPassword="hkgt123">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5" maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
<DatabaseBackend name="localhost2" driver="com.mysql.jdbc.driver" url="jdbc:mysql://192.168.0.6:3306/myDB" connectionTestStatement="select 1">
<ConnectionManager vLogin="user" rLogin="root" rPassword="hkgt123">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5" maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
<RequestManager>
<RequestScheduler>
<RAIDb-1Scheduler level="passThrough"/>
</RequestScheduler>
<LoadBalancer>
<RAIDb-1>
<WaitForCompletion policy="first"/>
<RAIDb-1-LeastPendingRequestsFirst/>
</RAIDb-1>
</LoadBalancer>
<RecoveryLog driver=" com.mysql.jdbc.driver "
url="jdbc:mysql://192.168.0.6:3306/myDB" login="TEST" password="">
<RecoveryLogTable tableName="RECOVERY" logIdColumnType="BIGINT NOT NULL"
vloginColumnType="VARCHAR NOT NULL" sqlColumnType="VARCHAR NOT NULL"
extraStatementDefinition=",PRIMARY KEY (log_id)"/>
<CheckpointTable tableName="CHECKPOINT"
checkpointNameColumnType="VARCHAR NOT NULL"/>
<BackendTable tableName="BACKEND"
databaseNameColumnType="VARCHAR NOT NULL"
backendNameColumnType="VARCHAR NOT NULL"
checkpointNameColumnType="VARCHAR NOT NULL"/>
<DumpTable tableName="DUMP" dumpNameColumnType="VARCHAR NOT NULL"
dumpDateColumnType="TIMESTAMP"
dumpPathColumnType="VARCHAR NOT NULL"
dumpFormatColumnType="VARCHAR NOT NULL"
checkpointNameColumnType="VARCHAR NOT NULL"
backendNameColumnType="VARCHAR NOT NULL"
tablesColumnType="VARCHAR NOT NULL"/>
</RecoveryLog>
</RequestManager>
</VirtualDatabase>
</SEQUOIA>
<o:p> </o:p>
配置文件说明:<o:p></o:p>
<VirtualDatabase name="myDB"> :name 指定虚拟数据库的名称
<AuthenticationManager> :配置虚拟数据库的权限:passwd user
localhost1:虚拟主机名称,供程序访问时用
driver:访问实际数据库所需驱动
url:访问实际数据库的url
rLogin:访问实际数据库的用户名
rPassword:访问实际数据库的密码
initPoolSize:设置连接池的初始大小
minPoolSize:设置连接池的最小连接数
maxPoolSize:设置连接池的最大连接数
idleTimeout:设置空闲时间
waitTimeout:设置等待时间
RecoveryLog 数据库的日志和恢复目前还没有进行研究可以根据相关文档进一步的研究
5 启动,在安装目录下执行./controller.sh –f (为配置controller的路径)例如:
./controller.sh –f ../config/controller/ mysql-1.xml 启动controller
6 controller的启动 :./console.sh 启动controller管理器可以查看controller是否启动和连接上 not connected 表示没连接上,localhost: port 表示连接上
7 目前安装(使用)情况:
<!---->1. <!---->squoia目前已在6 ,7 上安装成功,并通过应用程序可以连接上
<!---->2. <!---->controller控制台有时候出现连接不上的情况目前,分析问题可能是controller 设置问题,<o:p></o:p>
<!---->3. <!---->sequoia在国内项目中使用较少,缺少相关的技术资料,特别是在虚拟数据库的性能方面,恢复和日志方面需要进一步的研究<o:p></o:p>