db info.inc.php,[原]HUSTOJ随笔4-建立分布式判题系统

HUSTOJ 支持一台数据库服务器,多台web服务器和多台判题服务器,以承担较高的访问负荷。

首先,需要创建用于从远程连接数据库的帐号。

GRANT ALL PRIVILEGES ON jol.* TO ‘judge’@’%’ IDENTIFIED BY ‘judge_pass’ WITH GRANT OPTION;

flush privileges

复制代码

其中jol为数据库,judge为帐号,judge_pass为密码。

注意:

检查/etc/mysql/my.cnf 确保

bind-address        = 0.0.0.0

复制代码

高负载的情况下最好设置更多的连接数。max_connections = 512

其次,配置各web程序连接到数据库。

修改include/db_info.inc.php

static  $DB_HOST=”数据库服务器ip”;

static  $DB_NAME=”jol”;

static  $DB_USER=”judge”;

static  $DB_PASS=”judge_pass”;

复制代码

第三,配置各判题程序连接到数据库,分配任务。

OJ_HOST_NAME=数据库服务器ip

OJ_USER_NAME=judge

OJ_PASSWORD=judge_pass

OJ_DB_NAME=jol

OJ_TOTAL=判题机总数

OJ_MOD=本机编号,从0开始

复制代码

其中OJ_TOTAL=判题机总数,OJ_MOD=本机编号,从0开始,例如

有3台机器判题,分别编号0,1,2

OJ_TOTAL都设为3,OJ_MOD分别设为0,1,2

* 自R784版本开始,不再需要分别配置OJ_TOTAL和OJ_MOD,全部设为1和0即可,所有正常工作的judge节点将自动分配当前任务。

第四,复制测试数据目录到各判题机。

先要准备好远程访问,在主服务器执行:

sudo apt-get install openssh-server

从主机向判题机复制

scp -r /home/judge/data  root@判题机ip:/home/judge/

复制代码

或用同步命令。

rsync -vzrtopgh –delete /home/judge/data root@判题机ip:/home/judge/

复制代码

判题机从主机复制

scp -r root@主机ip:/home/judge/data  /home/judge/

复制代码

或用同步命令。

rsync -vzrtopg –progress –delete root@主机ip:/home/judge/data /home/judge/

复制代码

最后,在各判题机重启判题程序。

sudo pkill judged&&sudo judged

复制代码

0_1332052039uq4T.gif

虚拟机测试,用3台虚拟机+1台真机,4机同步判题

作者:zhblue 发表于2012-3-18 14:24:29 原文链接

阅读:1645 评论:0 查看评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值