HUSTOJ-建立分散式判題系統
原文:http://blog.csdn.net/zhblue/article/details/7366381
HUSTOJ 支援一臺資料庫伺服器,多臺web伺服器和多臺判題伺服器,以承擔較高的訪問負荷。
首先,需要建立用於從遠端連線資料庫的帳號。
- 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";
- 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
- rsync -vzrtopg --progress --delete /home/judge/data [email protected]判題機ip:/home/judge/
- scp -r [email protected]主機ip:/home/judge/data /home/judge/
- rsync -vzrtopg --progress --delete [email protected]主機ip:/home/judge/data /home/judge/
- sudo pkill judged&&sudo judged
虛擬機器測試,用3臺虛擬機器+1臺真機,4機同步判題
相關推薦
HUSTOJ-建立分散式判題系統
原文:http://blog.csdn.net/zhblue/article/details/7366381 HUSTOJ 支援一臺資料庫伺服器,多臺web伺服器和多臺判題伺服器,以承擔較高的訪問負荷。 首先,需要建立用於從遠端連線資料庫的帳號。 GRANT ALL
基於Ubuntu 16.04的HUSTOJ線上判題系統的搭建
開啟Ubuntu終端鍵入sudo apt-get update此命令為了升級Ubuntu軟體庫接下來鍵入sudo apt-get install subversion安裝subversion然後從svn獲取hustoj 鍵入sudo svn co https://github
ACM線上判題系統(OJ)的判題實現(java+python)
學院一直是有一個自己的oj的,但是由於最近判題崩了,需要修復一下,拿到判題程式碼,開啟卻是一手node.js,讓我一個搞Java的著實懵逼,因為以前學過點js,摸清判題邏輯,一步一步console.log來調bug,最後還是太複雜,把心態調崩了。最後想了了想判題就是那個流程,還是自己寫一個吧,而
差分約束系統的建立詳解+題集
差分約束系統 一、何為差分約束系統: 差分約束系統(system of difference constraints),是求解關於一組變數的特殊不等式組之方法。如果一個系統由n個變數和m個約束條件組成,其中每個約束條件形如xj-xi<=bk(i,j∈[1,n],
cas單點登陸系統-建立單點登陸系統的應用
dep authent loginurl get nth spring password list c項目 上一篇如果已經操作成功,說明casServer已經實現了,下面就是搭建casClient與casServer聯合調試。代碼已經上傳到github上。你可以下載看看,如
elkb+redis建立日誌收集分析系統
elk redis 一、ELKB說明elastic提供了一套非常高級的工具ELKB來滿足以上這幾個需求。ELKB指的是用於日誌分析或者說數據分析的四個軟件,各自擁有獨立的功能又可以組合在一起。先來簡單介紹一下這四個軟件。Elastic Search: 從名稱可以看出,Elastic Search 是用
【2018中國計算機大會】阿里雲高階總監談超大規模超高效能分散式快儲存系統
新型硬體(如NVRAM、RDMA、GPU/TPU等)及其構建的異構複雜環境,與既有硬體環境的巨大差異,導致傳統的演算法、資料結構甚至是涉及原則和經驗法則等難以為繼,對計算智慧與大資料處理帶來新的挑戰和機遇。 10月27日下午,2018中國計算機大會上舉辦了主題“新型硬體環境下大資料處理技術”的技術論壇,一起
分散式版本控制系統:Git學習筆記
文章目錄 概述 Git是什麼 Git的安裝 建立版本庫 編寫檔案上傳 使用GitHub 概述 身為DBA的我前夕確實對於程式碼比較陌生啊,Git也是很少聽過。
阿里雲高階總監談超大規模超高效能分散式快儲存系統
摘要: 10月27日下午,2018中國計算機大會上舉辦了主題“新型硬體環境下大資料處理技術”的技術論壇,一起探討新型硬體帶來的變化。論壇上,阿里雲高階總監馬濤針對超大規模超高效能分散式塊儲存系統ESSD進行了報告分析。 新型硬體(如NVRAM、RDMA、GPU/TPU等)及其構建的異構複雜環境,與既有硬體環
SQLServer之建立分散式事務
分散式事務建立注意事項 指定一個由 Transact-SQL 分散式事務處理協調器 (MS DTC) 管理的 Microsoft 分散式事務的起點。 執行 BEGIN DISTRIBUTED TRANSACTION 語句的 SQL Ser
git--分散式版本管理系統
參考部落格:廖雪峰的官方網站 一、window安裝git Git官網直接下載安裝程式,預設選項安裝即可。 1、設定自己的git(cmd命令或者git bash進入) git config --global user.name "myname" git config --global user.e
Virtual Judge的交題與判題
1.進入相關題組,檢視題目 2.點選檢視題幹 3.根據題目在自己電腦上的IDE上(你自己的程式設計軟體,可以試VC++6.0、DEV、Codeblocks等)編寫你的程式碼 4.然後根據題目中給出的測試資料
【分散式版本控制系統】GIT問題彙總
一.Git 安裝(on Windows) 版本:git-2.12.1-64-bit.exe 官網即可下載(慢) ✓ Use Git from the Windows ✓ Use the OpenSSL library ✓ Checkout Windo
分散式版本控制系統GIT的使用
一、什麼是Git Git是一個分散式版本控制系統,Git 和其他版本控制系統的主要差別在於,Git 只關心檔案資料的整體是否發生變化,而大多數其他系統則只關心檔案內容的具體差異(如CVS、Subversion等)。而Git並不儲存這些前後變化的差異資料。Git更像是把變化的檔案作快照後記錄在一個微型的檔
分散式版本控制系統Git的常用指令
本地創庫:git init 檢視日誌:git log git log --pretty -online 檢視狀態:git status 檢視
集中式VS分散式版本控制系統(二)
Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分散式版本控制系統,集中式和分散式版本控制系統有什麼區別呢? 集中式版本控制系統,版本庫是集中存放在中央伺服器的, 而幹活的時候,用的都是自己的電腦,所以要先從中央伺服器取得最新的版本,然後開始幹活,幹完活了,再
分散式檔案儲存系統技術及實現
本課程針對分步式檔案儲存系統的實現進行講解,首先分析為什麼要使用這種分步式儲存系統,以及這種系統在設計時需要注意的問題,並比較現在市面常見的分步式儲存系統(HDFS、Ceph等),展示阿里Pangu系統針對其中問題的解決方法,並結合Pangu系統說明分步式儲存系統的設計要點。 開始學習:分散式檔
HDFS(分散式檔案儲存系統)
一 、HDFS命令列客戶端的常用操作命令 (1)start-dfs.sh :自動啟動整個叢集 stop-dfs.sh :自動停止整個叢集 (2)上傳檔案到hdfs中: hadoop fs -pu
GIT——分散式版本控制系統
Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案,可以有效、高速的處理從很小到非常大的專案版本管理。 分散式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。 學習git可
大資料-Hadoop-分散式資源排程系統YARN部署
1:YARN部署 1.1:etc/hadoop/mapred-site.xml: <property> <name>mapreduce.framework.name</name&