当前位置:Gxlcms > mysql > cobar配置安装_MySQL

cobar配置安装_MySQL

时间:2021-07-01 10:21:17 帮助过:70人阅读

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

人气教程排行