Karigi tagged: grilja

Grid Uffiċċju Kompjuter użu ambjenti virtwali - Parti 4

Billi , il-Ġimgħa 4 Diċembru, 2009 11:59

Introduzzjoni

I xogħol fil-kumpanija fejn aħna run impjiegi lott ħafna ipproċessar miljuni ta 'rekords ta' data kull jum u stajt ġiet ħsieb reċentement dwar l-magni li tiltaqa madwar kull jum tagħmel xejn għal bosta sigħat. Mhux se jkun tajjeb jekk nistgħu jużaw dawk il-magni li jsaħħu l-qawwa l-ipproċessar tas-sistemi tagħna? F'dan sett ta 'oġġetti jien ser tħares lejn l-benefiċċji potenzjali għall-impjieg ta' l-uffiċċju grilja użu ambjenti virtualised.

Fil -parti 3 ħloqna magna tagħna ipproċessar virtwali u jistabbilixxu magni twieqi li jsiru idle-time.

Tmexxija tal-aħħar kodiċi

Inevitabbilment wara l-ħolqien ħaddiema negozju tiegħek loġika se jinbidlu, bugs se jkun jinstab, il-kodiċi mgħaġġla aktar effiċjenti se jiġu prodotti b'hekk tħalli lill-ħaddiema tiegħek sib madwar ipproċessar tad-data bl-użu kodiċi smelly qodma . Kif mela niżguraw li aħna qed dejjem jużaw l-aħħar verżjoni u l-akbar ta 'skripts ipproċessar tagħna?

Hemm ftit modi faċli ħafna sempliċi nistgħu tagħmel dan, il-trick, madankollu, huwa li tnaqqas l-qawwa ipproċessar u traffiku tan-network biex jinkiseb dan. Tikri tibda bil-eħfef ta 'soluzzjonijiet u titjieb bil-mod matul ftit iterazzjonijiet.

L-ewwel metodu għandu jkun li sempliċiment jgħaqqdu xogħol tagħna ta 'kontroll server (permezz samba, FTP, jew simili) u jiġbdu l-aħħar verżjoni tal-kodiċi. Mhux effiċjenti ħafna, iżda se jagħmlu xogħolhom. Tikri ttejjeb fuq dak xi ftit, kif dwar il-ħolqien iskrittura rsync u l-użu li kull darba minflok? B'mod sussidjarju, liema dwar it-tqegħid iskrittura tagħna ipproċessar aħħar fis sovverżjoni tiċċekkja l-kodiċi inizjalment u mbagħad biss aġġornament kodiċi tagħna fuq kull ġirja ( SVN aġġornament )?

Fl-aħħar nistgħu jispiċċaw bil-iskrittura bash (imsejħa minn cron kull 10 minuti) li tidher sempliċi kemm dan:

  #! / Bin / sh
 jekk ps ax | grep-v grep | grep PHP > / DEV / null
 allura
     eku "Job bħalissa ipproċessar, ħruġ"
 inkella
     eku "Job ma tkunx qed taħdem, tibda issa"
     cd / triq / l / xogħol / kopja
     SVN aġġornament
     PHP yourJobProcessingScript.php
 Fi 

Issa aħna jista 'jkun żgur li ma' kull medda aħna qed definittivament running-kodiċi aktar tard. Aħna qed tiżgura dan billi taġġorna bażi tal-kodiċi tagħna kull darba aħna jwettaq run u t-tnaqqis netwerk tat-traffiku biss minn trasferiment tad-differenzi fajl madwar netwerk tagħna.

Fil setup dimostrazzjoni tiegħi, jien ma eżattament kif hawn fuq. Subversion kien installat fuq server tiegħi proċessar ta 'xogħol u I sempliċiment jinġibed il-kodiċi aħħar minn "ħaddiem" fergħa użu "SVN aġġornament". I miżjuda wkoll tag numru tal-verżjoni l-ipproċessar b'kitba tiegħi li ġiet irritornata fil-database bħala parti mill-qligħ riżultati. Dan il-mod I setgħet tara li l-kodiċi tiegħi kien qed tiġi aġġornata kull darba I kkupjati zokk tiegħi fil-fergħa jiġifieri ħaddiem li kien I definittivament running-iskript ipproċessar aktar tard.

Uża l-aħħar dejta

Jekk l-ipproċessar tax-xogħol tiegħek jagħmel użu ta 'sorsi ta' dejta mbagħad f'xi punt dawn ser ikunu aġġornati wkoll. Sakemm inti sejħa sorsi ta 'data tiegħek fuq bażi frekwenti ħafna int ser għargħar network tiegħek ma' traffiku hekk kif ħaddiema tiegħek tibda taħdem jġibu kollox għal waqfien. Għal soluzzjoni tiegħi I iddeċieda li nixtieq li jiċċaqalqu sorsi tad-data tiegħi madwar VMs tiegħi.

Żomm int żwiemel hemm! X'jiġri jekk sorsi tad-data tiegħi huma enormi? Ukoll dan huwa verament każ ta 'kemm id-data aħna nitkellmu? Jista 'jkun aktar effettiv fl-infiq biex jinstallaw addizzjonali akbar hard drive fis kull magna milli jixtru server addizzjonali ta' pproċessar. Din hija kwistjoni tal-baġit u huwa f'idejn l-kummerċ li jiddeċiedi. Huwa forsi li s-sorsi tad-data tiegħek huma tant kbar li tagħha biss mhux fattibbli biex iżommu dak l-ammont ta 'data fil-magni tal-ħaddiema tiegħek. F'dak il-każ dak li għandek tagħmel? Ukoll nistgħu nħarsu lejn ssejjaħ data server lokali, iżda dan jista 'jikkawża kwistjonijiet mal-netwerk. F'dan il-każ sistema tal-grilja bħal din tista 'ssir realistiku li jinkludu fl-ambjent uffiċċju tiegħek. Jista 'jkun ukoll li inti tista' tħares lejn strateġiji alternattivi running, per eżempju biss sejħa lill-ħaddiema tiegħek 08:00-6:00 kull lejl u / jew it-talbiet throttling data sors.

Nimxu fuq tikri say sorsi tad-data tagħna jammontaw għal 100Gb ta 'data. Well iva dan huwa pjuttost ftit ta 'data li jiċċaqalqu madwar in-netwerk ta' aġġornament. Kif niżguraw li aħna għandna l-aħħar kopja tad-data f'dan il-każ? Rsync possibbiltà, iżda personalment naħseb billi jorganizza aħħar data tiegħek sors fuq server tiegħek proċessar ta 'xogħol u l-istabbiliment dan up bħala kaptan fir-replikazzjoni (bil-log sbieħ bin fit-tul) jista' jkun il-mod biex imorru:

replikazzjoni Bl-iffissar kull tal-ħaddiema tiegħek up bħala skjav li l-aġġornamenti ta 'xogħol għal servers ta' kontroll għal sorsi tad-data tiegħek se jaslu s'għand nicely għall-ħaddiema tiegħek mingħajr żieda enormi fl-attività tan-netwerk (jiġifieri sakemm inti twettaq aġġornament tad-data enormi u l-ħaddiema kollha tiegħek jidħlu fis-seħħ f'daqqa). Dan għandu vantaġġi fuq rsync f'dak inti ma tkunx tikseb waqfa twila qabel kull xogħol; bħala l-aġġornamenti tad-database, il- mysql daemon fuq ħaddiem tiegħek kontinwament se jaġġornaw id-dejta tagħha filwaqt li l-ipproċessar tkompli.

Dan huwa kif I stabbilit server dimostrazzjoni tiegħi. Biex titwaqqaf replikazzjoni I segwita l-gwida fuq is-sit mySQL ( Twaqqif replikazzjoni ) u fi żmien 20 minuta kelli ħaddiem inital tiegħi jirreplikaw l-impjieg kontroll servers dataset. Għal kull ħaddiem addizzjonali l-issettjar ta 'replikazzjoni u l-proċess ħadem kull darba meta l-VM kienet kkupjati.

Sommarju

F'din it-taqsima ta 'l-artikolu ħarisna lejn kif faċli u mingħajr tbatija huwa li żżomm kodiċi ta' pproċessar tiegħek aġġornata mill using rsync jew subverion (SVN) biex jagħmlu x-xogħol u jitnaqqas it-traffiku tan-network fl-istess time. Aħna wkoll diskuss kif li jżomm id-data tiegħek sors ta 'informazzjoni aġġornata data billi jippermettilha li jaslu s'għand lil kull wieħed mill-ħaddiema tiegħek. Għalhekk aħna qasam jiżguraw li aħna ilaħħqu mal-loġika tan-negozju u informazzjoni fis-sistema tagħna grid uffiċċju. Hemm ovvjament se jkun alternattivi għadd għal jwettqu dawn il-kompiti, iżda hawnhekk kienu żewġ eżempji sempliċi biex juru kemm hu faċli soluzzjoni hija li ssib.

Li jmiss ħin

Fil-parti finali ta 'din is-serje, adattat issemmiet Parti 5 , aħna ser jiddiskutu iskjerament din is-sistema għall. I ser tqassar dak li kien mitgħallem u dak I rnexxielha toħloq.

Grid Uffiċċju Kompjuter użu ambjenti virtwali - Parti 3

Billi , il-Ġimgħa 4 Diċembru, 2009 23:37

Introduzzjoni

I xogħol fil-kumpanija fejn aħna run impjiegi lott ħafna ipproċessar miljuni ta 'rekords ta' data kull jum u stajt ġiet ħsieb reċentement dwar l-magni li tiltaqa madwar kull jum tagħmel xejn għal bosta sigħat. Mhux se jkun tajjeb jekk nistgħu jużaw dawk il-magni li jsaħħu l-qawwa l-ipproċessar tas-sistemi tagħna? F'dan sett ta 'oġġetti jien ser tħares lejn l-benefiċċji potenzjali għall-impjieg ta' l-uffiċċju grilja użu ambjenti virtualised.

Fil -parti 2 ħarisna lejn l-impjiegi server se run, u kif l-impjiegi għandhom jiġu kkonfigurati sabiex jinkiseb akbar ammont ta 'l-ipproċessar filwaqt li jiżgura li kull biċċa xogħol hija pproċessata mingħajr dubju.

Twaqqif ħaddiem tiegħek - jew server limp

Il-pass li jmiss fil-proċess huwa li jitwaqqaf ħaddiema virtwali tiegħek. Għal dan jien ser tuża l-istallazzjoni ta CentOS jużaw VirtualBox. Jien ser tinstalla MySQL u PHP fuq is-server, magħrufa wkoll bħala limp (Nux Li, m ySQL, P HP) Server (I seta 'għamel dak l-isem up).

  • Installa VirtualBox fuq magna twieqi tiegħek (segwi link)
  • Download u jinstallaw CentOS (kurrenti verżjoni 5.3) fi magna virtwali maħluqa

M'hemm l-ebda punt lili tmur għal dan hemm probabbilment i 1000 "ta 'tutorials kbira hemmhekk (ok, hawnhekk wieħed: Il-ħolqien u Managing CentOS magna virtwali taħt VirtualBox ). Il-punt importanti li wieħed jinnota I jissoponi huwa li I imsejħa magna virtwali tiegħi GridMachine.

Safejn għażliet tiegħi tal-klijent virtwalizzazzjoni u sistema operattiva jmorru hemm l-ebda raġuni konvinċenti kbira għal kull għażla. VirtualBox hija xi ħaġa I użu fuq magna dar tiegħi u hija appoġġjata mill-tliet sistemi operattivi ewlenin. I għażlet CentOS bħala OS tagħha stabbli tajba u I użu fuq server tiegħi stess web. I am a fidi kbira fil-għodod adattati għall-impjieg (għalkemm jien applikazzjoni "tuża l-aktar mgħaġġel u eħfef għalik" mentalità hawn), hekk jekk sistema X joperaw runs kodiċi tiegħek aktar mgħaġġla u aktar effiċjenti użu li minflok :)

Importanti kun żgur li VM tiegħek juża DHCP, inkella għal kull magna virtwali ġdid ikun jeħtieġ li jiġi kkonfigurat separatament li hija xi ħaġa li aħna ma want.By jużaw DHCP ma kellniex bżonn biex jiġi kkonfigurat settings netwerk individwalment għal magni tal-ħaddiema, DHCP se idejn l-IPs għalik. Għalhekk inti tista 'kopja magna virtwali tiegħek dwar l-uffiċċju mingħajr ma jinkwetaw dwar it-twaqqif kull wieħed up (din ittejjeb modularità u jnaqqas l-amministrazzjoni ħaddiem).

Il-proċess inti għandhom jimmiraw li jiksbu ikun li tikseb magna fiżika ġdida, jinstallaw VirtualBox, u mbagħad pretty ħafna jintuża l-immaġni virtwali mingħajr wisq inkella. Jista 'jkun għaqli li setup ħaddiema kollha tiegħek fuq subnet differenti sabiex inti tista' mill-inqas ara kemm magni huma running. Int ser ikollok bżonn ukoll li jitwaqqaf magni tiegħek fuq kirja fit-tul jew illimitat kera DHCP.

Kif biex imexxu l-Impjiegi fuq il-ħaddiem

Dan huwa qasam interessanti u hemm metodi validi diversi għall-ipproċessar impjiegi fuq il-ħaddiem. Hawnhekk I ser biss jiddiskutu l-aktar żewġ ovvju:

  • Perpetually taħdem iskrittura: A b'kitba, kemm b'kitba qoxra, jew b'kitba PHP hija esegwita darba fuq il-ħaddiem u tmur bħala parti minn linja infinita. Stajt skontati dan il-metodu bħala wieħed tiġrifa ta 'l-iskrittura u potenzjalment ħaddiema tiegħek se jieqaf milli jiddekorri mingħajr xi tip ta' intervent.
  • Bbażata Cron iskrittura eżekuzzjoni: Kull minuta X l-daemon Cron kicks off sejħa għall iskrittura tiegħek biex jaqilgħu l-affarijiet għaddejjin. Mingħajr xi verifika li dan jista 'jwassal għal bosta kopji ħafna tmexxija tiegħek b'kitba ħaddiem.

Deċiżjoni tiegħi kien li jmorru ma cron li kicks off-iskrittura qoxra kull minutes. 10 iskrittura qoxra tiegħi twettaq il-kompiti li ġejjin:

  1. Get lista proċess u grep dan għal "PHP". Jekk ma tinstabx mbagħad tkompli.
  2. Sejħa kodiċi tax-xogħol tiegħek, fil-każ tiegħi dan ikun PHP xi ħaġa bbażata
  3. Iskrittura Ħaddiem tikkompleta run tagħha
  4. Lesta li tmur darb'oħra fuq is-sejħa xierqa li jmiss

Iskrittura bash tiegħi jistenna xi ħaġa bħal li ġej:

  #! / Bin / sh
 jekk ps ax | grep-v grep | grep PHP> / DEV / null
 allura
     eku "Job bħalissa ipproċessar, ħruġ"
 inkella
     eku "Job ma tkunx qed taħdem, tibda issa"
     PHP yourJobProcessingScript.php
 Fi 

Nota: il-fuq eku huma kważi kompletament inutli, iżda jista 'jgħin lill-persuna li jmiss li ġejja flimkien biex jippruvaw u jeditjaw minnhom.

Dan jikkonkludi-twaqqif tal-magna ħaddiem virtwali, malajr, sempliċi, u faċli għall-kopja għal kull biċċa ġdida ta 'hardware li huwa riċevut. Il-"cleverness" tas-sistema grid verament mhux fil-OS viżwalizzata, tiegħu kollha biex jagħmlu mal-kodiċi maħluqa għall-impjiegi proċess, il-konfigurazzjoni impjieg, u li taċċerta li l-impjieg jibda meta xieraq (jiġifieri meta l-ospitanti tkun idle ).

Twaqqif Windows sabiex tinbeda 'Ħaddiema

L-ewwel kompitu huwa li taħdem l-kmand meħtieġa biex imexxu l-magna virtwali mill-linja tal-kmand twieqi. Jekk inti ħadthom installati VirtualBox fil-post default u inti stajt msemmija ħaddiem GridMachine tiegħek allura l-kmand meħtieġa għal tagħbija ħaddiem tiegħek huwa:

  "C: Program Files \ Ħad \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Madankollu biex imexxu l-iskrittura fi "bla ras" stat għandna bżonn għall-użu:

  "C: Program Files \ Ħad \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off 

Din se tibda l-magna virtwali mingħajr il-GUI u jippermettulha li jiffrankaw l-istat gracefully. It-tieni argument titfi RDP għalhekk ma jkunx f'kunflitt ma 'twieqi PŻR, jew jagħtuk messaġġ dwar smigħ fuq il-port 3389. L-isem magna virtwali huwa każ sensittiv!

Sussegwentement, aħna ser bżonn li jiġu stabbiliti twieqi sa kick off VM ħaddiem tagħna darba l-magna kienet idle. Biex tagħmel dan (fuq Windows XP) li ghandek bzonn biex tmur Start -> All Programs -> Aċċessorji - System Tools> -> Kompiti Skedati kif hawn taħt:

kompiti skedati

Li jmiss ikklikkja fuq "Żid Task skedata" segwit minn jibbrawżjaw li żżid programm tad-dwana. Mur għall iskrittura VBoxManage tiegħek u ikklikkja ok. Skeda kompitu tiegħek għal kwalunkwe mill-għażliet (aħna ser tbiddel dan fil-minuta) u tkompli. Wara taqbeż l-iskrin li jmiss twieqi ser jgħidlek li inti tixtieq li run dan il-kompitu, I d jissuġġerixxu jew "Amministratur" jew ħolqien ta 'utent privileġġat ġdid. Ftakar aħna ma rridux li jinterferixxi mal-kont persunal standard fuq il-magna fi kwalunkwe punt. Ikklikkja li jmiss u jivverifika l-għażliet juru avvanzati għall dan il-kompitu.

Sat-tmiem tal-kaxxa run żid string tagħna startvm GridMachine "u jiżguraw li run biss meta illoggjat titħalla unticked. Żur il-kompitu iskeda li jmiss u jibdlu l-iskeda drop down għall-għażla "meta wieqfa", jagħżlu l-ammont ta 'ħin li tixtieq l-magna biex tiġi idle qabel ma jimxu fuq il-tab li jmiss.

Fl-aħħarnett untick l-għażla li jgħid twaqqaf il-kompitu li jkun ġie running ammont X ta 'żmien, imma immarka l-għażla biex iwaqqaf il-kompitu jekk il-magna ma tkunx aktar idle.

iskeda

Li mbagħad għall-setup ospitanti twieqi!

Sommarju

F'din il-parti waqqafna magna virtwali biex jaġixxi bħala ħaddiem, kif ukoll il-mod li bih nagħmlu sejħa u tesegwixxi skripts tagħna ipproċessar tax-xogħol (għal lili nnifsi iskrittura PHP). Minn hawn aħna nħarsu lejn kif stabbilit kopji tagħna ta 'twieqi biex tibda l-magna virtwali fil-modalità bla ras meta l-kompjuter isir idling, u tiffranka l-istat tiegħu meta l-utent jerġa' jibda l-użu tal-magna. Nisperaw f'dan il-punt int tara kemm huwa sempliċi biex iwaqqfu sistema bħal din u huma ħakk biex nikseb xi esperimenti li jmorru ruħek!

Li jmiss ħin

Fil -Parti 4 aħna ser tkun tħares lejn użu ta 'għodod biex jiżguraw li int taħdem l-aħħar verżjoni ta' l-għejun tal-kodiċi u d-data sabiex ir-riżultati miksuba huma dejjem up-to-date ma 'l-informazzjoni kummerċjali u l-aħħar loġika.

Grid Uffiċċju Kompjuter użu ambjenti virtwali - Parti 2

Billi , il-Ġimgħa 4 Diċembru, 2009 11:23

Introduzzjoni

I xogħol fil-kumpanija fejn aħna run impjiegi lott ħafna ipproċessar miljuni ta 'rekords ta' data kull jum u stajt ġiet ħsieb reċentement dwar l-magni li tiltaqa madwar kull jum tagħmel xejn għal bosta sigħat. Mhux se jkun tajjeb jekk nistgħu jużaw dawk il-magni li jsaħħu l-qawwa l-ipproċessar tas-sistemi tagħna? F'dan sett ta 'oġġetti jien ser tħares lejn l-benefiċċji potenzjali għall-impjieg ta' l-uffiċċju grilja użu ambjenti virtualised.

Fil -Parti 1 I taw ħarsa ġenerali tas-sistema u t-teknoloġiji I se tkun qed tuża kif ukoll diskuss wħud mir-raġunijiet potenzjali għala inti tixtieq li joħolqu netwerk uffiċċju.

Kontroll tax-Xogħol

Jekk int ser tkun qed taħdem impjiegi allura int se jeħtieġu xi ftit mod biex imexxuhom. Impjieg kontroll tiegħek sistema (fuq is-server xogħol tiegħek) jeħtieġ li jiġi verament maħsub sew qabel saħansitra jippruvaw imexxu 'grid uffiċċju. Allura l-ewwelnett, liema huma l-kompiti għal sistema ta 'kontroll tax-xogħol:

  • Idejn impjiegi fuq talba mill-ħaddiema
  • Għid liema tip ta 'ħaddiema impjiegi jiddekorri
  • Track-impjiegi
  • Tiżgura li l-impjiegi huma biss run darba
  • Ipprovdi data xogħol għall-ħaddiema, jew għall-inqas jgħidulhom fejn biex tiksbu

Is-sistema jeħtieġ ukoll li jkun estensibbli, soluzzjoni li taħdem għal issa f'każ wieħed jista 'jiġi estiż biex imexxu diversi tipi ta' impjiegi bħala l-kummerċ jara l-valur f'soluzzjoni grid. Per eżempju, l-impjiegi jistgħu jiksbu prijoritajiet, it-tip tax-xogħol aktar minn jista 'jeżisti (bażijiet jiġifieri kodiċi diversi), eventwalment inti tista' anki run diversi magni differenti ħaddiem li huma ottimizzati għal kull tip ta 'xogħol (għalkemm dan ma jitbiegħed mill-ħaddiem "ġeneriċi ) idea ". Dejjem ipprova li jaħsbu dwar il-futur meta iżvilupp ta 'sistemi, viżjoni għal żmien qasir jistgħu jwasslu għal frustrazzjoni itwal u l-ħin iżvilupp akbar.

Server Job

Aħna ser bżonn x'imkien biex jikkontrollaw l-impjiegi tagħna minn, dan għandu jkun l-unika sistema fil-grid tiegħek li għandu riżorsa locator fiss, tkun dik l-indirizz IP, l-isem ospitanti, ikteb (bl-użu intern DNS), eċċ Dan huwa minħabba il-ħaddiema għandhom bżonn ikunu jafu fejn tfittex għal impjiegi, il-ħaddiema bżonn issib l-sistema ta 'kontroll tax-xogħol (mhux is-sistema ta' kontroll tax-xogħol isibu l-ħaddiema).

Il-server xogħol innifsu ma verament ikollhom kompitu kkumplikata (f'sistema bażika xorta), jeħtieġ li taħżen lista ta 'impjiegi, idejn l-impjiegi, jirċievi r-riżultati, u sussegwentement jaħżinhom għal irkupru aktar tard. Kif dawn il-partijiet ("idejn impjiegi" bħal) huma definiti jistgħu jkunu ħafna bażiku. Aktar tard nistgħu jestendu s-sistema li tinkludi interface amministrazzjoni li jżidu, teditja, iħassru, jissospendu l-impjiegi iżda dan huwa lil hinn minn dan l-eżerċizzju.

M'hemm l-ebda raġuni allura li server xogħol tiegħek ma jista 'jkun magna virtwali tmexxija fi ħdan server tiegħek ipproċessar prinċipali sakemm dan ma drain wisq riżorsi minnha. Il-server xogħol madankollu ma bżonn disponibbiltà għolja, jekk din tmur isfel fuq Ġimgħa filgħaxija int ser jitilfu weekend sħiħ ta 'l-ipproċessar, potenzjalment inti tiswa ftit ġimgħat jiswew ta' ħin għall-ipproċessar (meta mqabbla ma 'prinċipali tiegħek ipproċessar server biss) . Inti tista 'tixtieq li jikkunsidraw tqegħid server xogħol tiegħek dwar ambjent bbilanċjat għall-disponibbiltà għolja.

Bażiku Setup

Il-setup bażiku għall-server xogħol tagħna se tikkonsisti dak li jien sejħa 1 ta 'servers limp tiegħi (jiġifieri Nux Li, m ySql, P HP). Il-kodiċi li jaħdem fuq ħaddiema Thea se attwalment jaħdmu barra dak l-impjiegi tista 'taħdem permezz ta' interazzjoni ma 'xogħol ma' databases tas-sistema ta 'kontroll. Aktar tard nistgħu toħloq servizz web u fil-fatt naħa l-impjiegi aktar milli jkollhom l-ħaddiema jagħmlu x-xogħol iebes infushom, iżda għal issa aħna ser ikomplu jużaw il- prinċipju KISS (Żommha sempliċi, Stupid!).

Allura, tikri joħolqu tliet MySQL tabelli biex jittrattaw l-impjiegi. Dawn se jkunu `impjiegi ',` jobRecords', u `jobResults '.

impjiegi tabella Hawnhekk jien użu SQL Buddy alternattiva ftit kbir biex phpMyAdmin biss minħabba eħfef tagħha li jinstallaw fuq CentOS (għal oħrajn ara: 10 alternattivi Gran lill phpMyAdmin )

Din it-tabella tal-5 jikkonsisti oqsma sempliċi,

  • id: Unikament tidentifika l-impjieg
  • Isem: Jista 'jkun referenza klijent, jew kwalunkwe numru ta' identifikaturi oħrajn
  • Status: Inti għandek bżonn tkun taf fejn l-impjieg hija, eż
    • 0: Mhux beda
    • 1: Qabad
    • 2: Completed
  • started_by: Min bdiet tagħmel l-impjieg? Dan mhux kollox meħtieġ iżda huwa sbieħ li jkollhom. I d jissuġġerixxu ħaddiema traċċar mill-indirizz IP tagħhom fuq network tiegħek
  • started_at: Meta ma l-ħaddiem jibda l-impjieg? Minn tracking impjiegi li ma temmewx fl-ammont X ta 'ħin nafu li għandna bżonn li jtellgħu l-impjieg għal darb'oħra u tibda ipproċessar minn ħaddiem. Ħaddiema tista 'twaqqaf l-ipproċessar / tmur offline għal kull numru ta' raġunijiet, nuqqas ta 'enerġija, crash, telf tan-netwerk, eċċ

Huwa faċli kif din it-tabella jista 'jiġi estiż bil-oqsma addizzjonali ftit biex jippermettu għall-istatistika traċċar, kolonna ħin finitura biex tara kemm l-impjieg ħa, kontro biex tara kemm ħaddiema telgħet l-impjieg (ovvjament dan jeħtieġ li t-tendenza li 1), il-prijorità tax-xogħol, il-lista tista 'tmur fuq u fuq. Fil-xenarji ta 'xogħol aktar kumplessi ikun possibbli li wieħed jispeċifika kemm-memorja tal-ħaddiem jeħtieġu aċċess għal (u għalhekk jużaw biss ħaddiema xierqa), jew saħansitra liema tip ta' ħaddiem tkun meħtieġa.

Tikri żid ftit impjiegi eżempju ftit:

eżempju l-impjiegi

It-tabella li jmiss darb'oħra huwa pjuttost faċli biex tifhimhom, dawn huma r-rekords tax-xogħol tagħna. Huma marbuta mal-tabella impjiegi prinċipali permezz ta 'kolonna' jobs_id '. Il-għamla ta 'din it-tabella ħafna jiddependi fuq id-data li għandek bżonn biex jipprovdu lill-ħaddiema tiegħek, tikri jagħmlu eżempju sempliċi ħafna fejn għandna erba' kolonni:

  • id: ID tar-rekord
  • Isem: Isem Persuna ta
  • : Indirizz Persuna ta
  • jobs_id: L-ID xogħol li dan ir-rekord huwa marbut ma '

It-tabella 3 u finali magħmul minn tabella riżultati, hija għandha l-istess jagħmlu bħala tabella rekords tagħna, u biż-żieda ta 'xi kolonni tista' tkun parti tat-tabella rekords:

  • job_record_id: Link r-riżultat għall-mejda tax-xogħol
  • riżultat: Id-data riżultat

... U li kollox għandek bżonn għall-kontroll tax-xogħol! (Għalkemm f'livell bażika ħafna) Fil-każ tiegħi jien osservat għal ieħor tabella fejn id-data tiegħi għall-proċess kien jinsab, iżda dan jista daqstant faċilment ġew fajl, il-parametri biex imexxu kodiċi simulazzjoni, inti isem li bih.

Għażla ta 'xogħol

Kif intqal qabel, il-ħaddiema se jagħmlu ġestjoni xogħol tagħna għalina għal issa, hekk kollha għandna bżonn verament tagħmel huwa isibu impjieg li jeħtieġ l-ipproċessar u jiksbu l-informazzjoni. Kif nagħmlu dan? Ukoll pick kriterji tagħna għażla ta 'xogħol u tfittex għal impjiegi, fil SQL I ma' dan li ġej:

  1. Ħu xi impjiegi li m'humiex immarkati bħala komplet iżda mill-ħaddiema tagħna u reset minnhom (sostitut ME__ __ b'identifikatur, eħfef ikun indirizz IP):
      AĠĠORNAMENT `impjiegi` SET `istatus` = 0 fejn `istatus` = 1 U `started_by` = __ ME__; 
  2. Użu ta 'kriterji ta' għażla tagħna ta 'xogħol, tagħżel xogħol u tell-sistema ta' kontroll li dan il-ħaddiem qed jinnegozjaw:
      AĠĠORNAMENT `impjiegi` SET `istatus` = 1, `started_by` = __ ME__, 'started_at `= ISSA () FEJN` istatus `= 0 jew
     (`Istatus` = 1 U `started_at`> DATE_SUB (ISSA (), intervall X siegħa)) ORDNI MILL `id ASC`; 

    Billi l-impjiegi ħtif li ma ritornati riżultati fl-ammont X ta 'żmien niżguraw li l-impjiegi kollha huma mmexxija fil-każ ta' ħaddiem jiġġarrfu jew sejrin AWOL.

  3. Sussegwentement grab-dettalji impjiegi segwiti mill-rekords nfushom:
      TAGĦŻEL * MILL `impjiegi` FEJN `started_by` = __ ME__ LIMITU 1;
     TAGĦŻEL * MILL `job_records` FEJN `id` = __ JOBID__; 

Mat-tlestija tal-impjieg aħna daħħal rekords riżultat tagħna u mmarka l-impjieg bħala komplet. Ftakar bħala l-impjiegi tista 'tissospendi / jerġa' fi kwalunkwe ħin titħalla ċerta robustezza b'kitba tiegħek. Jista 'jkun li l-kompitu tissospendi nofs triq permezz jaġġorna s-sistema ta' kontroll tax-xogħol, sabiex iċċekkjar tal-numru ta 'rekords fl-impjieg u n-numru ta' riżultati salvati lura lill-sistema ta 'kontroll tax-xogħol ikun pass għaqli.

Barra minn hekk, filwaqt li dan juri kif l-impjiegi jistgħu jiġu magħżula u mmexxija minn qafas SQL-mistoqsija inti għandek verament tkun abstracting kontroll xogħol tiegħek hekk li jekk inti tiddeċiedi li jaqilbu għal użu ta 'servizz web, sistema fajl bbażata, XML , jew kull numru ta 'sistemi mhux se jaffettwa l-kodiċi hawn fuq.

Konfigurazzjoni Job

L-aspett li wieħed għandu jikkonsidra huwa daqs xogħol u l-konfigurazzjoni. Permezz playing mal-konfigurazzjoni xogħol nistgħu ssib bilanċ eċċellenti bejn il-veloċità, replikazzjoni proċess, u affidabilità. Ħu xenarji ofa koppja:

  1. Impjiegi tieħu 1 jum kull jiddekorri: Dan ifisser li l-ħaddiema tiegħek bżonn 15-il jum biex jipproċessaw kull biċċa xogħol (ftakar 10% tal-enerġija għall 2/3rds tal-ħin). Dan huwa b'mod ċar mhix maħsuba konfigurazzjoni għaqli, id-daqs tax-xogħol tiegħek huwa mod wisq kbir! Hija se tieħu mill-inqas doppju tal-ħin li jsibu xogħol ipproċessat għandu l-ħaddiem inizjali tmur AWOL (ħin li jtellgħu li ma rritornax riżultat flimkien ma 'ħin riproċessar). Fi ideali youd jkollu mill-inqas impjieg full faċilment approvati sal-aħħar ta 'kull perjodu idle twil, il-mod inti żżomm l-impjiegi timmarka fuq u fl-agħar każ xogħol se jieħu jumejn biex il-proċess għandu l-ewwel jisparixxi.
  2. Impjiegi jieħu 1 minuta biex imexxu: Dan ifisser li l-ħaddiema tiegħek jieħu madwar 15 minuta biex imexxu kull biċċa xogħol. Filwaqt li dan jista 'jidher fil-bidu ideali, inti jiksbu l-ipproċessar xogħol addizzjonali matul il-ħin ikla, pawżi kafè, laqgħat, eċċ dan ix-xenarju tpoġġi pressjoni fuq oqsma oħra tas-sistema tiegħek u tintroduċi problemi tagħha stess. Per eżempju, l-ewwelnett proporzjon tiegħek ħin setup / ipproċessar huwa se jmorru dritt isfel, għalhekk jitilfu l-effiċjenza tas-sistema. Network tiegħek se tkun kontinwament streaming inkarigati bit-tagħrif lill-persunal ħaddiema varji frustranti li huma dong ġurnata tagħhom għax-xogħol kuljum. Inti wkoll se jagħmlu pressjoni aktar fuq server tiegħek proċessar ta 'xogħol minħabba li għandu dixx lottijiet u lottijiet ta' biċċiet żgħar ta 'xogħol fuq bażi regolari. Fl-aħħar nett, f'din is-sitwazzjoni jekk server xogħol tiegħek jinżel int ser toħloq reġistru lura kbir ta 'xogħol inkompleti billi impjiegi ikbar jista tad kompliet ipproċessar blissfully konxji li s-server xogħol kienet qed tesperjenza diffikultajiet.

Fir-realtà se jkun hemm ebda konfigurazzjoni ideali 1 għall-setup grilja tiegħek, ħafna jiddependi fuq ir-riżorsi disponibbli, tipi ta 'xogħol, rekwiżiti tax-xogħol ħin tibdil, kapaċità tan-netwerk, u l-bqija. Madankollu xi linji gwida tkun:

  • Impjiegi Daqs sabiex kull ħaddiem tista 'tikseb permezz inqas impjiegi 3-4 fil-perjodu ta' 15-il siegħa (l-itwal perjodu probabbli ħin wieqaf)
  • Play mad-daqs impjieg sabiex dak iż-żmien setup isir pjuttost insinifikanti meta mqabbla mal-ħin għall-ipproċessar (b'kont meħud tal-punt hawn fuq).
  • Jekk ix-xogħol ma tkunx kompluta fir-doppju tal-ammont ta 'ħin (forsi inqas) inti tistenna li jitlesta jassumi li AWOL tagħha marret u tibda l-ipproċessar ma ħaddiem ieħor. Dan ifisser li inti jista 'jkollok tistenna sa tliet darbiet it-tul normali ta' xogħol għal li jlesti (possibilment itwal jekk l-impjieg sussegwenti jonqos). Inti tista 'tixtieq li tnaqqas dan iż-żmien, imma jkun attent li ma jitnaqqas wisq kif inti tista' tibda tidduplika kompiti ipproċessar fuq bażi regolari.
  • Impjiegi għandhom ikunu indipendenti ta 'rekwiżiti barra kemm jista' jkun. Il-server xogħol, per eżempju, għandhom biss jiġu kkuntattjati fil-bidu u tmiem ta 'kull impjieg.
  • Ma saturat network tiegħek, dan se jkollu żewġ effetti negattivi, il-persunal bi nhar tiegħek se ssib użu ta 'network frustranti u l-problemi jistgħu jiġu esperjenzati bil-konnessjonijiet timing out problema li se jkomplu jsiru biss agħar kif inti iskala grilja tiegħek.
  • Jiżguraw l-impjiegi tista 'taħdem fuq il-ħaddiema tiegħek. Jekk l-impjiegi sar wisq memorja impjiegi intensivi jew disk ispazju intensiv se tibda jabortja u l-unika ħaġa tkun taf Avviż huwa tnaqqis fin-numru ta 'impjiegi ipproċessati bl-ebda raġuni vera għaliex.

Riżultati Sottomissjoni ta 'Job

Meta jissottomettu r-riżultati ta 'impjieg huwa importanti ħafna li tivverifika li r-riżultati ma ġewx sottomessi minn xi ħaddiem, speċjalment jekk il-ħaddiem attwali kien rieqed għal xi żmien.

Meta r-riżultati jiġu ppreżentati jiżgura li n-numru ta 'riżultati jaqbel man-numru ta' rekords fi ħdan l-impjieg.

Kif intqal qabel, u ma tistax tkun enfasizzata, jibnu tolleranza ta 'difetti fis-irkupru xogħol u r-riżultati sottomissjoni. Il-ħaddiema jistgħu (u probabbilment se) tispeċifika l-mod tissospendi l-aktar inkonvenjenti ta 'drabi u dan jeħtieġ li jiġu provduti. Also once again abstracting away your results submission will help cater for future changes to your job control system much easier to deal with.

Sommarju

In this section we have looked at what a job control server needs to do and how to get a very basic system set up. We discussed how to retrieve a job from the control system and how best to configure jobs to get the most our of your office grid system. To finish, a paragraph or two on submitting results back to the job control server was presented.

  • A job control server manages jobs and ensures that all work units are completed
  • By abstracting your job select/results submission we can change the technology of the control server without much problems
  • Configure your jobs to ensure that they are run quickly and efficiently without putting too much pressure on your network infrastructure, and without duplicating processing tasks on a regular basis.
  • Ensure that you build fault tolerance and error checking into your routines, workers can suspend and resume and the most inconvenient of times. Remember to check if results have already been submitted by another worker.

Next time

In part 3 we'll create our virtual processing machine and set up our windows machines to become idle-time workers.

Grid Uffiċċju Kompjuter użu ambjenti virtwali - Parti 5

Billi , il-Ġimgħa 4 Diċembru, 2009 11:03

Introduzzjoni

I xogħol fil-kumpanija fejn aħna run impjiegi lott ħafna ipproċessar miljuni ta 'rekords ta' data kull jum u stajt ġiet ħsieb reċentement dwar l-magni li tiltaqa madwar kull jum tagħmel xejn għal bosta sigħat. Mhux se jkun tajjeb jekk nistgħu jużaw dawk il-magni li jsaħħu l-qawwa l-ipproċessar tas-sistemi tagħna? F'dan sett ta 'oġġetti jien ser tħares lejn l-benefiċċji potenzjali għall-impjieg ta' l-uffiċċju grilja użu ambjenti virtualised.

Fil -Parti 4 ħarisna lejn użu ta 'għodod biex jiżguraw li aħna qed taħdem l-aħħar verżjoni ta' l-għejun tal-kodiċi u d-data sabiex ir-riżultati miksuba huma dejjem up-to-date ma 'l-informazzjoni kummerċjali u l-aħħar loġika.

Qabel l-Użu

Qabel iskjerament sistema tal-grilja tiegħek jekk hemm ħaġa waħda li inti u ħaġa waħda biss huwa benchmark sistema attwali tiegħek! Ma jimpurtax f'liema inti tgħid kollegi dwar kemm xogħol żejjed sistema tiegħek se tagħmel sakemm ikollok numri li jappoġġjaw dan garanziji tiegħek huma xejn. Allura,

  • kemm-rekords tista 'tipproċessa bħalissa? Per Jum? Per Hour?
  • Kemm idum ma jieħdu biex tipikament jdur xogħol?
  • Kemm aktar kapaċità għandek?

Hemm ukoll mistoqsijiet addizzjonali:

  • Jekk l-ipproċessar server tiegħek (jew waħda ta 'servers ta' proċessar tiegħek) jinżel kif dan se jaffettwa l-kapaċitajiet tiegħek, inti se tkun crippled?
  • Liema vantaġġi inti tama / jistennew li jiksbu minn sistema tal-grilja?
  • Huma magni uffiċċju tiegħek kapaċi taħdem l-impjiegi?
  • Qed tiegħek (jew jista inti impjiegi jiġu konvertiti) għal wrok dan l-istil ta 'tmexxija?

Il-punt ewlieni aħħar huwa li tieħu ħin tiegħek dwar kull bidla maġġuri bħal dan. Aġġornament kodiċi ta 'pproċessar tiegħek biex jaħdmu bl-użu tal-metodoloġija, jimmarkaw mill-ġdid. Possibilment jitwaqqaf server ipproċessar tiegħek biex imexxu 'magna virtwali, wara kollox server ipproċessar tiegħek se jkun biss ħaddiem ieħor (biss waħda qawwija ħafna relattivament). Ħalli l-proċess il-ġdid li jsolvi.

Użu

Suġġeriment tiegħi jkun li pop fis-uffiċċju wieħed weekend jwettqu l-installazzjonijiet u s-setup. Tagħmel dan eżatt qabel btala kull hmistax u leave hekk oħra foqra xedaq biex jittrattaw il-konsegwenzi ... forsi mhux ...

Użu għal sistema bħal din jeħtieġ li jkun bil-mod. Minkejja li relattivament sempliċi li jitwaqqaf din is-sistema se jaffettwa kollu uffiċċju tiegħek infrastruttura (ukoll il-wieħed diġitali). L-ewwelnett, ir-roll out għal ftit ta 'magni fi żmien, netwerk monitor traffiku, kif l-ospiti ħaddiem iwettaq fuq bażi jum għal jum. Jista 'jkollok bżonn tibdel konfigurazzjoni xogħol tiegħek bi tweġiba għas-sejbiet tiegħek.

Ladarba s-sistema tkun solvuta bi ftit magni (tikri say 10% tal-magni uffiċċju, jiġifieri 5) iżommu netwerk ta 'monitoraġġ tat-traffiku u l-magna ospitanti performance. benchmark jmiss darb'oħra, inti issa għandu jiġi ipproċessar impjiegi 33% aktar minn punti ta' referenza tiegħek l-ewwel. Iċċekkja dan ikun hekk, jew li int mill-inqas f'dan ballpark. Jekk le, tinvestiga dak li qed jiġri qabel immorru jaħdmu. Irrepeti dan iċ-ċiklu sakemm inti kuntenti li l-magni kollha uffiċċju running mingħajr qtil prestazzjoni magna individwali jew tħin network tiegħek għal waqfien.

Fil-ħinijiet kollha iżommu benchmarking, anke wara li l-implimentazzjonijiet huma magħmula. Iċċekkja kif aġġornamenti ġodda tal-kodiċi jaffettwax il-veloċità tas-sistema tiegħek, iċċekkja l-ħaddiema kollha huma rappurtar u l-ipproċessar l-impjiegi. Bil-mod (bil-mod ħafna) inkrement konfigurazzjoni xogħol tiegħek biex jiksbu l-aħjar mill-ħaddiema tiegħek u netwerk.

Stop!

X'jiġri jekk inti tixtieq li twaqqaf lill-ħaddiema tiegħek milli titħaddem f'xi żmien? Dawn huma kollha hemmhekk running, jirriġenera, u jippruvaw aħjar tagħhom biex jipproċessa data bħal insetti bil-ġuħ. It-tweġiba ovvja iżda l-valur tiegħu jżid biss fil-każ injorati tagħha. Sempliċement jeditjaw b'kitba tiegħek ipproċessar bi ħruġ (0) jew die () jew xi dikjarazzjoni oħra li joqtlu xogħol ipproċessar tiegħek. Raġuni importanti għaliex aħna dejjem jippruvaw jaġġornaw l-iskrittura ipproċessar aktar tard qabel kwalunkwe run!

Sistema Dimostrazzjoni

In order to write this set of short articles I created a very small grid to demonstrate the technologies and methodologies. I read lots of articles, tutorials, and used various tools to setup and monitor what was going on. By no means have I gone out and saturated a whole office with traffic and nor have I had access to a regular staff members PC to see how host performance was affected.

My demonstration system was very humble indeed. I used my regular desktop set up as a job control server. On this I had installed mySQL server installed set up as a master in replication, PHP , and SVN linked through apache (for access via worker VM).

I then created a centOS worker machine on VirtualBox on a 6 year old windows XP laptop. I setup scheduled tasks as specified after copying the VM onto the machine and let it go.

The virtual machine was set up with PHP, subversion, and mySQL. I checked out a branch named 'worker' from my job control servers repository and made sure it could be updated using 'svn update'. Next I setup mySQL as a slave and checked that data was replicating from mySQL on the job control server down to the worker VM. After all this I setup the bash script and the cron job.

My processing script basically went along the lines of this (very simple stuff):

  • Read in the name field
  • Counted the number of similar names in a table from the data source held on the VM
  • Counted the number of names as above but splitting the name by spaces (ie forename, middle, surname)
  • Repeated this process 1,000 times

Each job took approximately 20 minutes to run. At one point I opened several copies of the worker VM on the windows laptop and watched the jobs be checked off by each of the worker IP addresses. At this point I also confirmed that replication automatically restarted.

Leaving the laptop to idle resulted in a worker starting to process jobs from the job control server. When resuming laptop usage there was a delay of about 30-60 seconds, this is a fair amount of time and staff would need to be made aware that their machine may pause for a short while when returning to the machine. Newer machines may not have a pause of this long. The benefit of the amount of processing performed by these machines during idle periods would more that outweigh staff members having to wait a short period (say 1 minute) on arriving at their machines of a morning (I frequently wait longer that this for a Windows Defender update to take place) provided they were made aware of this (useful time to grab a morning coffee!).

Overall I feel confident that I have demonstrated the technologies that could be used to create such a system. I have shown that such a system does work on a (very) small scale and with some more experimenting could be scaled up utilise the resources of an office's machines. If I don't get to the point of doing this I would be very interested to know/see when someone else does.

Conclusions / Evaluation

The next obvious step would be to actually get a real world example and start to deploy a system such as this within an office environment and see what happens. Asking a business to commit to this without a trail blazing company to prove the technology and effectiveness may be a little difficult. Grid/Distributed computing is very popular is some circles and has some large applications (BIONC, SETI@Home, Folding@Home, etc). I did not, however, find a smaller scale and simple system like this in my searches that could be rolled out within an office environment.

I created a basically free system using mostly open source software and tools available in almost any office. The technologies were basically demonstrated and show to perform and work as expected. Hopefully I have show that with not much work and with a very simple setup you can deploy an office grid computing system that is powerful, cheap, and scalable all at the same time.

Once a system is up and running there is almost no end to the amount of customisation and improvements you can make. For example statistics / benchmarking can easily be added showing the worth of such a system every day. New machines can be added quickly and easily as and when they arrive with upgrades to existing hardware bolstering your processing power.

I hope you've enjoyed reading this series of articles and its given you food for thought on running an office grid system. The solution presented here won't necessarily work in all situations but should be adaptable to allow you to get your data processing done using your own solution.

Please feel free to send me any comments, corrections, or improvements and I'll do my best to keep this article updated to match.













Tema Panorama mill Themocracy

8 visitors online now
6 guests, 2 bots, 0 members
Max visitors today: 48 at 02:40 am UTC
This month: 56 at 25-04-2012 08:41 am UTC
This year: 69 at 27-02-2012 09:56 am UTC
Il-ħin kollu: 130 fuq 28-03-2011 UTC pm 10:40