[转]HUSTOJ建立分布式判题系统
来源:互联网 发布:淘宝保证金计划打不开 编辑:程序博客网 时间:2024/06/04 20:37
HUSTOJ 支持一台数据库服务器,多台web服务器和多台判题服务器,以承担较高的访问负荷。
首先,需要创建用于从远程连接数据库的帐号。
其中jol为数据库,judge为帐号,judge_pass为密码。
注意:
检查/etc/mysql/my.cnf 确保
高负载的情况下最好设置更多的连接数。
max_connections = 512
其次,配置各web程序连接到数据库。
修改include/db_info.inc.php
第三,配置各判题程序连接到数据库,分配任务。
其中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节点将自动分配当前任务。
或用同步命令。
判题机从主机复制
或用同步命令。
最后,在各判题机重启判题程序。
虚拟机测试,用3台虚拟机+1台真机,4机同步判题
首先,需要创建用于从远程连接数据库的帐号。
- GRANT ALL PRIVILEGES ON jol.* TO ‘judge’@’%’
- IDENTIFIED BY ‘judge_pass’ WITHOUT 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";<br></li><li>static DB_NAME=”jol”;
- static DB_USER="judge";<br></li><li>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 -vzrtopg –progress –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
复制代码
虚拟机测试,用3台虚拟机+1台真机,4机同步判题
阅读全文
0 0
- [转]HUSTOJ建立分布式判题系统
- HUSTOJ随笔4-建立分布式判题系统
- 在线判题系统hustoj的搭建
- HustOj使用脚本开启判题功能
- Ubuntu 上 HUSTOJ Pascal判题设置
- HUSTOJ关于宽松判题和严谨判题的修改
- 在线判题系统
- 判题系统提示信息说明
- [转]HUSTOJ管理问题
- 判题系统的程序判题模块的制作与思考(1)
- 关于用SQL SERVER2000建立分布式网站系统的认识
- 可否利用蠕虫建立一个分布式网络系统?
- PKU JudgeOnline FAQ 中文版 【ACM判题系统常见问题】
- 从今天开始搭建ACM判题系统
- [oj维护日记]HUSTOJ添加系统调用
- 开源评测系统hustoj-代码解读
- Ubuntu 14.04系统下搭建hustoj
- KAFKA分布式消息系统<转>
- Hadoop搭建过程中实现master与slave无密码登录
- CMake错误No CMAKE_CXX_COMPILER could be found.
- PCB中电流如何流动——差分电流如何流动
- 32. Longest Valid Parentheses
- 400. Nth Digit
- [转]HUSTOJ建立分布式判题系统
- ruby普通二分查找和递归二分查找
- ObjectMapper JSON的 处理
- lintcode&九章算法——Lintcode No.77. 最长公共子序列 ? 待解决
- Intellij IDEA SpringBoot热部署 使用Spring-boot-devTools无效解决办法
- 判断是否是素数
- 编写高效的C++程序
- 168. Excel Sheet Column Title
- MVP 详解(上)