实现分布式其实就是通过部署多个oj在不同虚拟机上,让多个判题机同时访问一个数据库。
所以就需要一个oj(A oj)贡献它的数据库让其他judger轮!!
在A oj 上,进入mysql,执行如下命令,赋予judge远程访问jol数据库的权限,并且设置密码为judge_pass
GRANT ALL PRIVILEGES ON jol.* TO 'judge'@'%' IDENTIFIED BY 'judge_pass' WITH GRANT OPTION;
flush privileges;
并且检查/etc/mysql/my.cnf 确保
- bind-address = 0.0.0.0
- max_connections = 512
然后我们再 B 、C、D.....oj上 ,配置judge.conf
vim /home/judge/etc/judge.conf
实际情况修改前三个就行了 。分别时 Aoj 的ip 和MySQL远程连接的账户和密码,后面OJ_HTTP_USERNAME默认时IP,
如果不想ip暴露在状态页可以随便起名