欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

cobar配置安装_MySQL

程序员文章站 2024-01-31 21:39:40
...
bitsCN.com

1、下载cobar http://code.alibabatech.com/wiki/display/cobar/release

2、进入cobar-server-1.2.4目录,可以看到Cobar的主要目录如下:

bin #包含Cobar的启动、重启、停止等脚本文件

conf #包含Cobar所有配置文件

lib #包含Cobar及其依赖的jar文件

logs #包含Cobar所有日志文件

3、Cobar的所有配置文件全部放在conf目录中,进入conf目录,可以看到:

server.xml #Cobar系统、用户、集群等相关配置

schema.xml #schema,dataNode,dataSource相关配置

rule.xml #分布式规则定义

log4j.xml #日志相关配置

4、mysql中数据准备

配置两台机器的mysql,ip地址分别为:192.168.1.110 、 192.168.1.113 端口为3306 用户名 root 密码为空。我们需要在 192.168.1.110上创建database:dbtest1,dbtest2,dbtest3;table:tb1(在dbtest1上),tb2(dbtest2、dbtest3上)。在192.168.1.113上创建database:dbtest31,dbtest32;table:tb1(dbtest31上),tb2(dbtest32上)

数据库创建脚本:

#########################################192.168.1.110

#创建dbtest1

drop database if exists dbtest1;

create database dbtest1;

use dbtest1;

#在dbtest1上创建tb1

create table tb1(

id int not null,

gmt datetime);

#创建dbtest2

drop database if exists dbtest2;

create database dbtest2;

use dbtest2;

#在dbtest2上创建tb2

create table tb2(

id int not null,

val varchar(256));

#创建dbtest3

drop database if exists dbtest3;

create database dbtest3;

use dbtest3;

#在dbtest3上创建tb2

create table tb2(

id int not null,

val varchar(256));

#########################################192.168.1.113

#创建dbtest31

drop database if exists dbtest1;

create database dbtest1;

use dbtest31;

#在dbtest1上创建tb1

create table tb1(

id int not null,

gmt datetime);

#创建dbtest32

drop database if exists dbtest2;

create database dbtest2;

use dbtest32;

#在dbtest2上创建tb2

create table tb2(

id int not null,

val varchar(256));

5、配置schema.xml

参考:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=7671478

请确保机器上设置了JAVA环境变量JAVA_HOME

dsTest[0]

dsTest[1]

dsTest[2]

dsTest[3]

dsTest[4]

192.168.1.110:3306/dbtest1

192.168.1.110:3306/dbtest2

192.168.1.110:3306/dbtest3

192.168.1.113:3306/dbtest31

192.168.1.113:3306/dbtest32

root

STRICT_TRANS_TABLES

此处要注意开启远程连接root用户的权限

grant all privileges on *.* to root#'%'

6、配置rule.xml

tableRule

tableRule主要作用是用来判断SQL语句路由到哪些datanode执行,Cobar是通过在SQL中提取一个或多个字段的值,并根据这些字段的值来决定路由到哪个库执行。因此,tableRule定义两个要素:

1)按表中的哪个字段路由?------下文中我们称此字段为路由字段

2)有了字段值,如何路由?------即路由函数

id

function

参考:http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=7671871

4

256

:8

2

512

7、配置server.xml

System

8066

9066

16

4

4

4

8

8

_HEARTBEAT_USER_

_HEARTBEAT_PASS_

User

test

db_single,db_shard

 root

-->

 

 

 

 

-->

Cluster

在实际应用中,经常需要部署一个Cobar集群,我们称集群中的一台Cobar为一个Cobar节点。

192.168.1.110

1

192.168.1.113

2

cobar1,cobar2

用户只需登录Cobar的服务端口(8066),运行Cobar自带的查询命令show cobar_cluster,便可查询集群中所有节点的运行情况以及权重,并根据查询结果做负载均衡。

mysql -h192.168.1.110 -utest -ptest -P8066

mysql>show cobar_cluster; #查询cluster配置中正常的Cobar节点

+---------------+--------+

| HOST | WEIGHT |

+---------------+--------+

| 192.168.1.110 | 1 |

| 192.168.1.113 | 2 |

+---------------+--------+

注意:

1)如果需要配置Cobar集群,当前Cobar自身也需要作为一个节点配置在cluster中,Cobar不会默认向自己发心跳;

2)show cobar_cluster只显示cluster配置中得正常Cobar节点,如果节点异常(如超时或错误),结果中便不会包含此节点。

8、访问方式

由于Cobar遵循MySQL协议,访问Cobar的方式与访问MySQL数据库完全相同。

支持MySQL命令行方式访问

#命令行

mysql -h192.168.1.110 -utest -ptest -P8066 -Ddb_shard

bitsCN.com
相关标签: 安装 下载