Ametikohad tagged: replikatsiooni

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 4

Autor , reede 4. detsember 2009 11:59

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Aastal osa 3 lõime meie virtuaalne töötlemise masin ja luua aknad masinad saada idle tööajaga töötajaid.

Töötab hiljemalt kood

Paratamatult pärast luua oma töötajate äriloogika muutub, vead on leitud, kiirem tõhusam koodi valmistatakse jättes oma töötajad istusid ümber töötlevad andmeid kasutades vana haisev kood . Kuidas siis me tagada, et me alati kasutada uusimaid ja parimaid versioon meie töötlemise skriptid?

On mõned väga lihtne lihtsal viisil me võiksime seda teha, trikk on aga see, et vähendada töötlemise võimsus ja võrguliikluse selle saavutamisel. Võimaldab alustada lihtsam lahendusi ja parandada seda aeglaselt paar iteratsiooni.

1. meetod oleks lihtsalt ühendada oma töö kontrolli server (via samba, FTP, vms) ja tõmmake alla uusim versioon koodi. Mitte väga tõhus, kuid teeme tööd. Võimaldab parandada, et veidi, kuidas on luua rsync skripti ja kasutate, et iga kord mitte? Teise kuidas panna meie viimast töötlemist skripti õõnestamises end välja koodi alguses ja siis lihtsalt ajakohastades meie koodi iga run ( svn uuendus )?

Lõpuks saime lõpuks bash script (kutsutud cron iga 10 minuti järel), mis näeb välja nii lihtne kui see:

  #! / Bin / sh
 kui ps ax | grep-v grep | grep php > / dev / null
 siis
     echo "Töö on praegu menetlemise, exit"
 teine
     echo "Töö ei tööta, alusta siit"
     cd / path / to / töö / koopia
     svn uuendus
     php yourJobProcessingScript.php
 fi 

Nüüd saame olla kindlad, et iga run me kindlasti töötab uusima koodi. Me tagada see, ajakohastades meie koodi baasi iga kord me sooritame perspektiivis ning vähendada võrguliiklust ainult üle faili erinevusi meie võrku.

Minu tutvustamise setup, ma tegin täpselt nii, nagu eespool. Subversion paigaldati minu töö töötlemine server ja ma lihtsalt tõmbas viimase koodi "töötaja" filiaal kasutades "svn update '. I lisas ka versiooni number tag oma töötlemine script mis tagastati andmebaasi osa tulemustest tagasi. Nii ma näen, et minu kood oli uuendatakse iga kord, kui ma kopeeritud mu pagasiruumi arvesse töötaja filiaal st, et ma olin kindlasti töötab hiljemalt töötlemise skripti.

Kasutades uusimaid andmeid

Kui teie töö töötlemist kasutab andmeallikate siis mingil hetkel neid saab ajakohastada ka. Kui helistate oma allikatele on väga harva alusel sa lähed üle ujutada oma võrgu liiklust kiiresti oma töötajate alata tuua kõik soiku. Minu lahendus ma otsustasin, et tahaks minna minu andmeallikad ringi oma laevadele.

Hoia oled hobused seal! Mida teha, kui minu andmeallikad on suured? Noh see on tõesti tegemist kui palju andmeid me räägime? See võib olla tasuv paigaldada täiendavaid suurem kõvaketas igasse masina kui osta täiendavalt töötlemine server. See on küsimus eelarve on kuni ettevõtte otsustada. See võib-olla et oma allikatele on nii suur, et selle lihtsalt võimatu hoida, et andmemaht oma töötaja masinaid. Sel juhul mida sa teeksid? Hästi võiksime vaadata helistades kohalike andmete server, aga see võib tekitada probleeme võrku. Sel juhul grid süsteem nagu see võib muutuda ebarealistlikuks lisada oma kontori keskkond. Samuti võib olla, et saate alternatiivseid töötab strateegiaid, näiteks ainult helistamise töötajate 08:00-6:00 igal õhtul ja / või vähendanud andmeallikas nõuab.

Liikudes saab öelda, meie andmeallikate summa 100GB andmeid. Noh jah see on üsna vähe andmeid, et liikuda võrgustik update. Kuidas me tagame, et meil on viimaste andmete koopia antud juhul? Rsync on võimalik, kuid mina isiklikult arvan, käivitades oma viimaseid andmeallikas oma tööd töötlemine server ja määrata käesoleva meister replikatsiooni (kena pikk bin log) võiks olla võimalus minna:

replikatsiooni Seades iga oma töötajaid üles nagu ori töö kontroll server uudiseid oma allikatele niriseb kenasti oma töötajad ilma tohutult kasvanud võrgustiku tegevuse (st kui olete läbi tohutu andmete uuendamine ja kõigi oma töötajate algama korraga). See on eeliseid rsync et te ei jääks pikk paus enne iga töö, sest andmebaasi uuendused, mysql deemon oma töötaja saab pidevalt täiendada oma andmeid, kui töötlemine jätkub.

See, kuidas ma loodud mu tutvustamistegevuse server. Luua replikatsiooni Ma järgisin juhend MySQL koha ( seadistamine replikatsiooni ) ja 20 minuti jooksul oli mul inital töötaja imitatsiooniga töö kontroll serverid andmebaasil. Iga täiendava töötaja replikatsiooni seaded ja protsessi töötas iga kord, kui VM kopeeritud.

Kokkuvõte

Selles osas artiklis vaatlesime kuidas lihtne ja valutu see on hoida oma töötlemine kood ajakohane using rsync või subverion (SVN) tööd teha ja vähendada võrguliiklust samal time. Samuti arutati, kuidas hoida oma andmeallikast andmed up-to-date, võimaldades sellel nire alla iga oma töötajaid. Seega on meil ala et me kursis äriloogika ja teavet meie kontoris võrgusüsteemi. Seal saab ilmselt lugematuid alternatiive nimetatud ülesannete täitmisel, kuid siin olid kaks lihtsat näidet, et näidata, kui lihtne lahendus saada.

Järgmine kord

Viimases osa sellest seeriast, tabavalt nimetatud osa 5 , me arutada rakendades seda süsteemi. Ma kokkuvõtteid, mida on õppinud ja mida mul õnnestus luua.

Office Grid Computing kasutades virtuaalses keskkonnas - Osa 5

Autor , reede 4. detsember 2009 11:03

Sissejuhatus

Töötan ettevõttes, kus võtame palju partii töökohti töötlemise miljoneid plaate andmete iga päev ja ma olen mõelnud viimasel ajal umbes kõik masinad mis istuvad iga päev midagi mitu tundi. Kas poleks hea, kui saaksime kasutada neid masinaid toetada töötlemise võimsus on meie süsteemi? Selle komplekti esemete ma lähen vaatama potentsiaalsete tulude tööd kontoris võrku kasutades virtualised keskkond.

Aastal Osa 4 me vaatasime, kasutades vahendeid, et tagada, et me töötab uusima versiooni kood ja andmeallikad, et saadud tulemused on alati up-to-date viimaste äriteabe ja loogika.

Pre-Deployment

Enne juurutamist oma võrgusüsteemi kui seal on üks asi, mida teha ja üks asi üksi see on võrrelda oma praegust süsteemi! Ükskõik, mida sa öelda kolleegidele, kui palju lisatööd oma süsteemi kavatseb teha, kui sa pole numbreid selle väite toetuseks oma garantiid on midagi. Niisiis,

  • kui palju andmeid saab töödelda praegu? Päevas? Tunnis?
  • Kui kaua see tavaliselt võtab ümber pöörata töö?
  • Kui palju rohkem võimalusi teil on?

Seal on ka täiendavaid küsimusi:

  • Kui teie töötlemine server (või mõni teie töötlemise serverid) loojub kuidas see mõjutab teie võimeid, oled sa halvatud?
  • Milliseid eeliseid loodate / oodata, et saada grid süsteemi?
  • Kas teie bürooseadmed võimelised töötama töökohti?
  • Kas teie (või saab tööd ümber), et wrok selles stiilis kulgeb?

Viimane suur asi on võtta oma aega suuremate muudatuste niimoodi. Uuenda oma töötlemine koodi tööle, kasutades uut metoodikat, võrrelda uuesti. Võimalik seadistada töötlemine server joosta virtuaalne masin ju sinu töötlemine server oleks lihtsalt töötaja (just väga võimas üks suhteliselt). Laske uus protsess settida.

Deployment

Minu ettepanek oleks pop kontoris 1 nädalavahetusel täita kõiki sisseseade ja setup. Tehke seda vahetult enne kahe nädala puhkuse ja jäta nii teiste vaeste chap tegeleda tagajärgedega ... võib-olla mitte ...

Kasutuselevõtu süsteemi nagu see peab olema aeglane. Kuigi see on suhteliselt lihtne luua see süsteem mõjutab kogu oma kontori infrastruktuuri (ka digitaalse 1). Esiteks, rullima, et paar masinaid korraga, jälgida võrguliiklust, kuidas töötaja hosts teostada päev-päeva järel. Teil võib tekkida vajadus muuta oma tööd konfiguratsiooni vastuseks oma järeldused.

Kui süsteem on asunud elama mõne masinad (saab öelda 10% kõigist kontoriseadmed, st 5) hoida kontrolli võrguliiklust ja host masin performance. Järgmine kriteerium uuesti, siis peaks nüüd töötlemine 33% rohkem töökohti kui oma 1. raamid. Vaata see on nii või et sa oled vähemalt selles ballpark. Kui ei, siis uurida, mis toimub enne liikuma. Korda seda tsüklit seni, kuni te õnneks on kõik kontoritehnika töötab ilma tapmise eraldi masin täitmise või lihvimise oma võrku soiku.

Alati hoida võrdlusuuringute, isegi pärast kõigi kasutuselevõttu on tehtud. Vaata, kuidas uus kood uuendused mõjutavad kiirust oma süsteemi kontrollida kõiki töötajaid aruandluse ja töötlemine töökohti. Aeglaselt (väga aeglaselt) juurdekasvu oma tööd konfiguratsiooni, et saada parimat oma töötajate ja võrku.

Lõpetage!

Aga kui soovite, et peatada oma töötajate töötab mõnda aega? Nad kõik on seal töötab, taastootmine, ja üritab oma parima, et andmeid töödelda nagu näljased putukad. Vastus võib tunduda ilmselge, kuid selle tuleb lisada, igaks juhuks selle tähelepanuta. Lihtsalt muuta oma töötlemine skripti exit (0) or die () või mõne muu avaldus, et tappa oma töötlemine töö. Oluline põhjus, miks me püüame alati värskeima töötlemine script enne run!

Tutvustamise süsteem

Selleks, et kirjutada selle rea lühikesi artikleid olen loonud väga väike grid näidata ja meetodid. Ma lugesin palju artikleid, õpetused ja kasutada erinevaid vahendeid setup ja jälgida, mis toimub. Mingil ma olen läinud ja küllastunud kogu kontori liiklust ja ega ma olen olnud juurdepääs regulaarselt töötajad PC näha, kuidas vastuvõtva tulemuslikkust mõjutas.

Minu tutvustamise süsteem oli väga tagasihoidlik, tõepoolest. Ma kasutasin oma regulaarset desktop loodud töökoha kontrolli server. Selle olin installitud MySQL Server installitud loodud meister replikatsiooni, PHP , A ja SVN kaudu seotud apache (juurdepääsu kaudu töötaja VM).

Siis ma loodud CentOS töötaja masin VirtualBox on 6 aastat vana Windows XP sülearvuti. Ma setup kavandatud ülesanded on määratletud pärast kopeerimist VM peale masina ja lase tal minna.

Virtuaalne masin loodi PHP, õõnestamises ja MySQL. Ma kontrollisin välja filiaal nimega "töötaja" minu töö kontroll serverid hoidla ja kindlaks teinud, see võib ajakohastada, kasutades "svn update '. Edasi ma setup MySQL ori ja kontrollinud, et andmed on imitatsiooniga MySQL töökohal kontrolli server maha töötaja VM. Pärast kõike seda ma setup bash script ja cron töö.

Minu töötlemise script põhiliselt läks sarnaselt see (väga lihtne värk):

  • Loe nime valdkonnas
  • Arvestatakse paljude sarnaste nimede tabeli andmeallikas toimus VM
  • Arvestatakse mitmeid nimesid, mis eelmine, kuid jagamine nimi tühikutega (nt eesnimi, keskmine, perekonnanimi)
  • Kordas seda protsessi 1000 korda

Iga töö võttis umbes 20 minutit joosta. Ühel hetkel avasin mitmes eksemplaris töötaja VM Windows arvutisse ja vaatasin töökohti kontrollida maha iga töötaja IP aadresse. Sel hetkel ma ka kinnitas, et replikatsiooni automaatselt uuesti.

Jättes sülearvuti idle põhjustas töötaja hakkab töötlema töökohti töö kontroll server. Kui jätkamist sülearvuti kasutamine viibis umbes 30-60 sekundit, see on päris palju aega ja töötajaid oleks vaja selgeks teha, et nende masin võib paus lühikest aega naastes masin. Uuemad masinad ei pruugi olla paus selle pikk. Kasuks summas töötlemine läbi nende masinate ajal tühikäigu perioodidel oleks rohkem, et kaalub töötajatele, kes ootama lühikest aega (näiteks 1 minut) on jõuda oma masinad hommikul (ma sageli kauem ootama, et seda Windows Defender ajakohastama, et võtta koht) tingimusel, et nad olid teadlikud sellest (kasulik aeg haarata hommikukohv!).

Üldiselt Olen kindel, et olen tõestanud tehnoloogiaid, mida võiks kasutada, et luua selline süsteem. Olen näidanud, et selline süsteem ei tööta on (väga) väikesed ja veel mõned katsetavad võiks ülespoole kasutada vahendeid ameti masinaid. Kui ma ei saa, kuni punktini, tehes seda Oleksin väga huvitatud teada / näha, kui keegi teine ​​teeb.

Järeldused / hindamine

Järgmine selge samm oleks tegelikult saada reaalses maailmas eeskuju ja hakata kasutama süsteemi, nagu see jooksul bürookeskkonna ja vaata, mis juhtub. Küsid äri pühenduma see ilma rada lõõskava ettevõte tõestada tehnoloogia ja tõhusus võib olla natuke raske. Grid / Distributed computing on väga populaarne on mõned ringid ja on mõned suured rakendused (BIONC, SETI @ Home, Folding @ home jne). Ma ei ole siiski leida väiksemate ja lihtne süsteem, nagu see minu otsingud, mida võiks rullitakse jooksul asukoht keskkond.

Olen loonud põhimõtteliselt vabad süsteem, kasutades enamasti avatud lähtekoodiga tarkvara ja vahendeid peaaegu igas kontoris. Tehnoloogiad olid põhiliselt näidata ja näidata täita ja töötada ootuspäraselt. Loodetavasti on mul näitavad, et ei ole palju tööd ja väga lihtne setup saate kasutada kontori võrku arvuti, mis on võimas, odav, ja laiendatavat kõik samal ajal.

Kui süsteem on ja töötab seal on peaaegu mingit lõppu summa kohandamine ja parandusi saab teha. Näiteks statistika / võrdlusuuring võib kergesti lisada näitab väärt sellise süsteemi iga päev. Uued masinad saab lisada lihtsalt ja kiiresti, kui nad saabuvad uuendused olemasoleva riistvara toetades oma võimsusest.

Loodan, et olete olnud loed seda mitmed artiklid ja andnud teile mõtteainet, töötab kontoris võrgusüsteemi. Lahendus siin esitatud ei pruugi töötada igas olukorras, kuid peab olema kohandatav, et võimaldada teil saada oma andmetöötlus teha kasutades oma lahendus.

Palun saatke mulle märkusi, parandusi või parandusi ja ma teen oma parima, et hoida käesoleva artikli uuendatud sobitada.













Panorama Theme poolt Themocracy

9 külalist nüüd
7 külalist, 2 eest, 0 liiget
Max Külastusi täna: 40 at 03:33 am UTC
Sel kuul: 40 at 23-05-2012 03:33 am UTC
Sel aastal: 69 at 27-02-2012 09:56 am UTC
Kogu aeg: 130 at 28-03-2011 10:40 UTC