Squoia是C-JDBC的一个子项目。
cjdbc ( http://c-jdbc.objectweb.org/ ) 是一个open source的数据库集群中间件,任何基于jdbc的应用都可以通过它透明地访问数据库集群,它可以进行各个节点之间的数据复制,并且可以实现各个节点的查询负载均衡。通过这样的软件,偶们可以方便的实现RAIDb - Redundant Array of Inexpensive Database 廉价数据库冗余阵列。
大型应用随着用户量访问越来越大,增加数据库存储和做好数据库冗余可以增加系统的可靠性和性能。
配置的原理:通过配置虚拟的数据库,来实现多个不同数据库的集群实现。然后配置一个控制器,通过运行一系列的配置文件,然后我们自己加载特定的JDBC驱动。来实现数据库的集群。
首先下载Squoia.
1. 配置虚拟数据库(我的路径是D:\sql\sequoia\config\virtualdatabase)配置一个名为mysqlserver-raidb1-distribution.xml的XML文件。这个文件名可以由你自己取。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA PUBLIC "-//Continuent//DTD SEQUOIA 2.10.10//EN" "http://sequoia.continuent.org/dtds/sequoia-2.10.10.dtd">
<SEQUOIA>
<VirtualDatabase name="myDB">--虚拟数据库的名字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://localhost:3306/mydb" connectionTestStatement="select now()">
<ConnectionManager vLogin="user" rLogin="root" rPassword="root">
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5" maxPoolSize="50" idleTimeout="30" waitTimeout="10"/>
</ConnectionManager>
</DatabaseBackend>
这是我们所配置的虚拟数据库:name="localhost1"这个名字是我们要操作的数据库名字,比如我们要把这个虚拟数据库加进集群或者从集群中分离等,我们在操作的时候就是用这个名字,因为我们用的是MYSQL的数据库,所以我们所用的驱动是MYSQL的驱动,对于本地用户的MYSQL数据库,我们的身份vLogin="user",而我们连接数据库的密码和用户名就是连接数据库的密码和用户名,下面的代码是我们要配置的第二个数据库的名字
<DatabaseBackend name="localhost2" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.61.114:3306/mydb" connectionTestStatement="select now()">
<ConnectionManager vLogin="user" rLogin="test1" rPassword="abc">
<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://localhost:3306/mydb" login="root" password="root">
这段代码表示你所要配置的和集群数据库相关的日志文件的表具体要配置在哪台数据库中。我们现在选择的是要配置在本地的数据库中。
<RecoveryLogTable tableName="RECOVERY"
logIdColumnType="BIGINT NOT NULL"
vloginColumnType="VARCHAR(20) NOT NULL"
sqlColumnName="sqlsrc"
sqlColumnType="TEXT NOT NULL"
sqlParamColumnType="TEXT"
extraStatementDefinition=",PRIMARY KEY (log_id)"/>
<CheckpointTable tableName="CHECK_POINT"
checkpointNameColumnType="VARCHAR(127) NOT NULL"/>
<BackendTable tableName="BACKEND"
databaseNameColumnType="VARCHAR(50) NOT NULL"
backendNameColumnType="VARCHAR(50) NOT NULL"
checkpointNameColumnType="VARCHAR(127) NOT NULL"/>
<DumpTable tableName="SEQUOIA_DUMP"
dumpNameColumnType="TEXT NOT NULL"
dumpDateColumnType="DATETIME"
dumpPathColumnType="TEXT NOT NULL"
dumpFormatColumnType="TEXT NOT NULL"
checkpointNameColumnType="TEXT NOT NULL"
backendNameColumnType="TEXT NOT NULL"
tablesColumnType="TEXT NOT NULL"/>
</RecoveryLog>
</RequestManager>
</VirtualDatabase>
以上这段代码都是配置和集群数据库相关的数据库表名。分别是表RECOVERY, BACKEND, SEQUOIA_DUMP
</SEQUOIA>
2. 配置你的控制器
D:\sql\sequoia\config\controller
在这个目录下新建一个controller-mysqlserver.xml的文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SEQUOIA-CONTROLLER PUBLIC "-//Continuent//DTD SEQUOIA-CONTROLLER 2.10.10//EN" "http://sequoia.continuent.org/dtds/sequoia-controller-2.10.10.dtd">
<SEQUOIA-CONTROLLER>
<Controller ipAddress="127.0.0.1" port="25322">
<JmxSettings>
<RmiJmxAdaptor port="1090"/>
</JmxSettings>
<VirtualDatabase configFile="mysqlserver-raidb1-distribution.xml" virtualDatabaseName="myDB" autoEnableBackends="true" checkpointName="Initial_empty_recovery_log"/>
</Controller>
</SEQUOIA-CONTROLLER>
注释:configFile="mysqlserver-raidb1-distribution.xml表示的是告诉控制器你的虚拟数据库的配置文件在哪。后面配置文件中的内容暂时没有查明表示什么意思。
3. 将D:\sql\sequoia\config目录下的sequencer.xml的中的
bind_addr="192.168.61.133"
mcast_port="45566"
mcast_addr="228.8.8.9"
必须和D:\sql\sequoia\lib中的几个JAR文件中的XML文件的一样。比如jgroup.jar中的sequence.xml文件中的所有mcast_addr地址必须和上面那个文件中的地址一样。
4. 然后写一个启动程序
假如我们的是A。BAT文件
@echo off
title Sequoia RAIDb-1 demo
echo ******************************************************
echo ******************************************************
echo ** **
echo ** Please press a key when hsqldb servers are ready **
echo ** **
echo ******************************************************
echo ******************************************************
SET SEQUOIA_HOME="d:\sql\sequoia"
:begin
cd "%SEQUOIA_HOME%\bin"
echo "Waiting for mysql servers to finish start up"
echo "Starting Controller"
start /B controller.bat -f ..\config\controller\controller-mysqlserver.xml
:end
注释:start /B controller.bat -f ..\config\controller\controller-mysqlserver.xml表示告诉启动程序启动的时候会去运行控制文件中的controller-mysqlserver.xml文件
分享到:
相关推荐
Sequoia是一种数据库集群中间件,可提供负载平衡和透明的故障转移。 数据库在多个节点上复制,并且Sequoia平衡了它们之间的查询。 红杉支持在线维护和恢复操作。
西门子 Sequoia 512是老彩超了,说明书很难找的有需要的可以下载
工具 SequoiaSQL,包含分布式数据库SequoiaDB的SQL引擎,以及兼容各种SQL语法协议的解析器。 SequoiaSQL项目目前已经完成了对MySQL和PostgreSQL的支持,并且已经打包进入产品中,投入用户的实际生产环境里使用。
为了确保该公司的软件平台能在 IBM 的主流服务器上良好地运行,Sequoia Media Manager 在马萨诸塞州 Waltham 的 IBM Solution Partnership Center(解决方案合作中心,SPC)接受了可移植性测试。该中心经验丰富的...
Sequoia
Sequoia实现蛋白质二级结构预测
红杉 文档可以在找到
ST Sequoia FLI32626H-BG Digital Video Processor Datasheet
sequoia.nim:Nim的Sequoia PGP包装器
#SEQUOIA 目前,这只是一个很小的16步矩阵Midi音序器,几乎没有功能。 下载 依存关系 外部的 内部的 Java文档 设计 即将推出的功能 处理方式 控制步骤数 速度控制
Sequoia选股系统 简介 本程序使用传统的,并非需要捐赠的,获取数据无限制; 另,由于TuShare的增量更新接口有bug(最近一个交易日的数据获取不到),所以每次计算前都是删除所有数据,全部重新获取。 本程序实现了...
用于Fedora的Sequoia PGP正在进行的RPM软件包 该存储库包含RPM规范文件和用于板条箱的补丁程序,用于的扩展名,以及尚未从Fedora官方存储库中获得的所有依赖项。 包裹审查票 包裹 票证链接 防锈帆布 防锈读卡器 不...
入门要在Gradle中要求当前发行版本,请将以下内容添加到构建文件的“依赖项”部分: 编译'com.staples-sparx:Sequoia:0.20.2'用法该库是Alpha之前的版本。 API可能会更改。 应该创建直接调用构造函数的节点。 ...
Xfce或其他已安装的DE) 从config.js轻松配置登录失败通知如何安装AUR Linux 从AUR下载[ lightdm-webkit-theme-sequoia-git ]( )或使用yaourt: yaourt -S lightdm-webkit-theme-sequoia-git 现在,在/etc/lightdm...
在竞争对手Sirific Wireless公司推出了可支持HSDPA(高速下行分组接入)和Edge 的130纳米线性CMOS产品的形势下,Sequoia Communications公司将于本周发布其单芯片极化结构SEQ7400 Hedge型收发器。 Sequoia...
Serverless computing is a rapidly growing paradigm thateasily harnesses the powe
安装Docker Mac- Ubuntu- CentOS- 安装Go(1.7+) Ubuntu- CentOS- 任何-https: 建造 go get github.com/couchbaselabs/sequoia cd $GOPATH /src/github.com/couchbaselabs/sequoia/ go build 入门 在命令行...
红杉-CS:GO AI检测机器人。 用于CounterStrike:GlobalOffensive字符检测和分类的神经网络。 建立在由软件提供支持的。 这个项目是在指导下开发的。 该项目结合了的微调版本,同时还使用辅助辅助神经网络来辅助...
智能容器回购下载node.js并在目录中运行npm install。 下载mongodb并进行设置。 对IP_ADDRESS:8080 / db / reset进行HTTP GET调用,以使用某些默认值创建或重置数据库。
为普及大数据相关知识,促进广州、深圳地区大数据爱好者的交流,增强企业使用大数据相关开源项目的意识,特地举办了“大数据开放日”深圳活动。 本活动由 CSDN CODE与腾讯大讲堂联合主办,活动同时得到了CSDN战略...