您的位置:首页 > 数据库 > MySQL

Mysql 集群配置

2008-12-15 16:02 267 查看
sequoia的基本情况

sequoia是c-jdbc项目的延续(改名是由于跟SUN的JDBC有商标上的冲突),该项目发端于INRIA(法国国家计算机和自动化研究院)的
sardes项目。
2003年提出了RAIDb的概念,并开发c-jdbc作为软件实现,RAIDb借鉴了RAID的思想,采用灵活的数据库复制技术和集成中间件,以廉价、
异构的数据库构建冗余数据库集群,从而提供高可扩展、灵活的高性能集群。

目前sequoia的最新稳定版本是2.10.8,由continent.org开源组织管理(C-JDBC是由OBJECT WEB管理),邮件列表讨论还是比较热烈。

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 2.10.4//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>

配置文件说明:
ipAddress: 指controller指向的ip地址
port(25322):监听端口
port(1090):controller的jmx的监听端口
configFile:虚拟数据库配置文件
virtualDatabaseName :虚拟数据库的名称

4 配置虚拟数据库,根据实际数据库来配置虚拟数据库(根据安装后的domo和实际情况进行配置)例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA PUBLIC "-//Continuent//DTD SEQUOIA 2.10.4//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>

配置文件说明:
<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 设置问题,
3. sequoia在国内项目中使用较少,缺少相关的技术资料,特别是在虚拟数据库的性能方面,恢复和日志方面需要进一步的研究
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: