實現分布式其實就是通過部署多個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暴露在狀態頁可以隨便起名
修改完成後我們要將a oj的測試資料傳到b、c。。。oj上
這裡要確保兩台虛擬機器上都裝了ssh
如果不確定可以 執行如下命令檢視是否有ssh
沒有的話,就執行 如下命令安裝ssh
sudo apt-get install openssh-server
安裝完後啟動
service ssh start
接下來有4種方式課選,將aoj的資料複製到其他oj上
可以在aoj上執行如下命令任一條
scp -r /home/judge/data root@判題機ip:/home/judge/
或用同步命令。
rsync -vzrtopg --progress --delete /home/judge/data root@判題機ip:/home/judge/
或在b、c。。。oj上執行下面任意一條
scp -r root@主機ip:/home/judge/data /home/judge/
或用同步命令。
rsync -vzrtopg --progress --delete root@主機ip:/home/judge/data /home/judge/
完成後 執行命令,重啟判題機
pkill judged&&sudo judged
大資料 Hadoop分布式部署虛擬機器
分布式部署 複製hadoop senior2重新命名為hadoop senior3 image.png 在vmware workstation中開啟hadoop senior3 image.png 命令 在虛擬機器中自動生成mac位址 修改自動生成的eth1 刪除eth0 image.png 命令 ...
單虛擬機器搭建zookeeper分布式偽集群
zookeeper是乙個分布式的,開放原始碼的分布式應用程式協調服務。顧名思義。分布式其實就是拆。將乙個服務。拆分成多個服務。在保證系統服務功能完整的基礎上,進行拆分。比如訂單服務down掉了並不會影響整體功能的執行。而單體式服務會影響 早在90年代。計算機學家提出分布式cap定律。c 一致性。讀寫...
使用Hyper V建立多台虛擬機器
通常,利用虛擬機器搭建環境的人,都會需要數台的虛擬機器,最普通的方法我們可以一台一台的建立,但其實有更方便的方法。在 vmware workstation上我們可以通過 轉殖的方法,又快又占用最少資源的建立多台虛擬機器。而在hyper v 中則需要建立一塊虛擬硬碟作為 母盤,並以此 母盤為基準建立 ...