Posts tagged: bash

Grid Computing Zyra e ambiente duke përdorur Virtual - Pjesa 4

Nga , e premte 4 Dhjetor 2009 23:59

Hyrje

Unë punoj në një kompani ku kemi drejtuar shumë punë grumbull përpunimit miliona e të dhënave e të dhënave çdo ditë dhe unë kam qenë duke menduar kohët e fundit për të gjitha makinat që ulen çdo ditë duke bërë asgjë për disa orë. A nuk do të jetë mirë në qoftë se ne mund të përdorni këto makina për të forcuar pushtetin e përpunimit të sistemeve tona? Në këtë grup të neneve Unë do të shikojmë në përfitimet potenciale të punësuar një zyrë rrjet duke përdorur mjedise virtualised.

pjesën 3 ne krijuar virtuale makinë tona të përpunimit dhe të ngritur dritaret e makinave të bëhen boshe në kohë punëtorë.

Drejtimin kodin fundit

Në mënyrë të pashmangshme, pas krijimit të punëtorëve logjikën e biznesit tuaj do të ndryshojë, bugs do të gjendet, kodi më të shpejtë më efikase do të prodhohet duke lënë punëtorët tuaj të ulur rreth përpunimit të të dhënave duke përdorur kodin e vjetër erë të keq . Si atëherë nuk kemi të siguruar që ne jemi gjithmonë duke përdorur versionin më të fundit dhe më të mëdha të përpunimit Scripts tona?

Ka disa mënyra shumë e lehtë të thjeshta që ne mund të bëjë këtë, mashtrim, megjithatë, është për të reduktuar fuqinë përpunuese dhe trafikut të rrjetit në arritjen e kësaj. Lejon të fillojë me thjeshte e zgjidhjeve dhe për të përmirësuar atë ngadalë gjatë disa iterations.

Metoda e parë do të ishte thjesht lidheni me serverin kontrollit tonë të punës (përmes samba, ftp, ose të ngjashme) dhe tërheq poshtë versionin e fundit të kodit. Jo shumë efikas, por kjo do të bëjë punë. Lejon të përmirësuar disi që, si për krijimin e një script rsync dhe duke përdorur atë kohë për çdo vend? Përndryshe çfarë në lidhje me vënien fundit script tona të përpunimit në përmbysje të kontrolluar nga kodin fillimisht dhe pastaj vetëm përditësimin kodin tonë në çdo të drejtuar ( svn Azhurimi )?

Në fund mund të përfundojë me një script bash (i quajtur nga cron çdo 10 minuta), e cila duket e thjeshtë si kjo:

  #! / Bin / sh
 nëse ps sëpatë | grep grep v-| grep php > / dev / null
 pastaj
     echo "Jobi është aktualisht përpunimi, dalje"
 tjetër
     echo "Jobi nuk është në ekzekutim, fillojnë tani"
     cd / path / to / pune / kopje
     svn Azhurimi
     php yourJobProcessingScript.php
 fi 

Tani ne mund të jetë i sigurt që me çdo afat ne jemi patjetër drejtimin kodin fundit. Ne jemi të siguruar këtë me azhurnimin e bazës tonë kodit kohë çdo Ne kryerjen e një të kandidojë dhe reduktimin e trafikut të rrjetit nga vetëm transferimin e dallimeve skedar nëpër rrjetin tonë.

Në setup tim demonstrim, kam bërë pikërisht si më sipër. Përmbysje ishte instaluar në serverin e përpunimit të punës time dhe unë thjesht tërhoqi kodin e fundit nga një degë s Gallery punetorit duke përdorur 'svn freskimi'. Kam gjithashtu shtoi një tag numër versioni të shkrimit tim të përpunimit i cili u kthye në bazën e të dhënave si pjesë e kthimit të rezultateve. Në këtë mënyrë unë mund të shoh se kodi im ishte duke u përditësuar çdo herë që unë kopjuar trungun tim në dmth degës punëtor që unë isha patjetër drejtimin e shkrimit të fundit të përpunimit.

Duke përdorur të dhënat më të fundit

Nëse përpunimi tuaj të punës e bën përdorimin e burimeve të të dhënave, atëherë në disa pika këto do të jenë të përditësuar shumë. Nëse ju telefononi burimeve të të dhënave tuaja në një bazë shumë të rrallë do të jeni të përmbytjeve rrjetin tuaj me trafik sa më shpejt që punëtorët tuaj të filloni duke e çuar çdo gjë në vend numëro. Për zgjidhjen e mia unë kam vendosur që do të doja të lëvizur burimet e mia të dhënave rreth me VMs mia.

Mbajeni ju jeni kuaj atje! Çfarë ndodh nëse burimet e mia të dhënat janë të mëdha? E pra kjo është me të vërtetë një rast se sa të dhëna jemi duke folur? Kjo mund të jetë me kosto më efektive për të instaluar një disk shtesë të madhe të vështirë në çdo makinë se për të blerë një server shtesë të përpunimit. Kjo është një pyetje e buxhetit dhe deri në të biznesit për të vendosur. Kjo ndoshta që burimet tuaja të dhënat janë kaq të mëdha që e saj vetëm pamundur për të mbajtur atë sasinë e të dhënave në makinat tuaja punëtore. Në këtë rast çfarë do të bëni? E pra ne mund të shikojmë në duke e quajtur një server lokal të dhënave, por kjo mund të shkaktojë probleme me rrjetin. Në këtë rast një sistem të rrjetit të tilla si kjo mund të bëhet realiste për të përfshirë në mjedisin tuaj zyre. Ajo mund gjithashtu të jetë që ju mund të shikoni në strategjitë alternative running, për shembull, vetëm duke e quajtur punëtorët tuaj midis ores 8 të mbrëmjes dhe 6 çdo natë dhe / ose të dhënat throttling kërkesa burim.

Lëvizja më lejon të thonë se shuma e të dhënave tona burimet me 100GB e të dhënave. E pra po kjo është mjaft pak e të dhënave të lëvizë në rrjetin në një update. Si do të kemi siguruar që ne kemi kopje të fundit të të dhënave në këtë rast? Rsync është një mundësi, por personalisht mendoj se me drejtimin e burimit të fundit tuaj e të dhënave në server të përpunimit tuaj të punës dhe ngritjen kjo lart si një mjeshtër në replikimin (me një regjistër të bukur të gjatë bin) mund të jetë rruga për të shkuar:

përsëritje Me vendosjen e secilit prej punëtorëve tuaj si një skllav të rejat e kontrollit të punës server burimeve të të dhënave tuaja do të rrjedh poshtë nicely për punëtorët tuaj pa një rritje të madhe në veprimtarinë e rrjetit (që është nëse nuk keni kryer një përditësim të madh e të dhënave dhe të gjithë punëtorët tuaj shkelm në në të njëjtën kohë). Kjo ka përparësi mbi rsync në se ju nuk do të merrni një pauzë të gjatë para çdo punë, si përditësime dhënave, mysql daemon për punonjësit tuaj do të vazhdimisht update të dhënat e saj, ndërsa përpunimi vazhdon.

Kjo është se si unë të ngritur serverin tim demonstrim. Për të ngritur replikimin kam ndjekur udhëzues në faqen MySQL simbolit Ngritja replikimin ) dhe brenda 20 minutash kam pasur punonjës time inital përsëritjes së kontrollit të punës dataset servers. Për çdo punonjës shtesë parametrat e replikimit dhe procesi ka punuar çdo herë kur VM është kopjuar.

Përmbledhje

Në këtë seksion të nenit kemi shikuar se sa e lehtë dhe pa dhimbje ajo është që të mbajë kodin tuaj të përpunimit deri në datën nga using rsync ose subverion simbolit SVN) për të bërë punën dhe për të zvogëluar trafikun e rrjetit në të njëjtën time. Ne gjithashtu diskutuam se si për të mbajtur informacionin tuaj të dhënave burim up-to-date me e lejuar atë të rrjedh poshtë për secilin prej punëtorëve tuaj. Kështu ne zona siguruar se do të vazhdojmë deri me logjikën e biznesit dhe informacionin në sistemin e rrjetit të zyrës sonë. Ka padyshim do të jetë alternativa të panumërta për kryerjen e këtyre detyrave, por këtu janë dy shembuj të thjeshtë për të treguar se sa e lehtë është një zgjidhje që do të vijnë nga.

Herën tjetër

Në pjesën e fundit të kësaj serie, të quajtur me vend Part 5 , ne do të diskutuar vendosjen e këtij sistemi për të. Unë do të përmblidhni atë që është mësuar dhe atë që kam arritur të krijojë.

Grid Computing Zyra e ambiente duke përdorur Virtual - Pjesa 5

Nga , e premte 4 dhjetor 2009 11:03 pm

Hyrje

Unë punoj në një kompani ku kemi drejtuar shumë punë grumbull përpunimit miliona e të dhënave e të dhënave çdo ditë dhe unë kam qenë duke menduar kohët e fundit për të gjitha makinat që ulen çdo ditë duke bërë asgjë për disa orë. A nuk do të jetë mirë në qoftë se ne mund të përdorni këto makina për të forcuar pushtetin e përpunimit të sistemeve tona? Në këtë grup të neneve Unë do të shikojmë në përfitimet potenciale të punësuar një zyrë rrjet duke përdorur mjedise virtualised.

Pjesën 4 ne shikuar në duke përdorur mjete për të siguruar që ne xhironi versionin më të fundit të burimeve të kodit dhe të dhënat në mënyrë që rezultatet e arritura janë gjithmonë up-to-date me informacionin e biznesit të fundit dhe logjikës.

Para-vendosjen

Para vendosjen e sistemit tuaj të rrjetit, nëse ka një gjë që ju bëni dhe një gjë vetëm se është pikë referimi sistemin tuaj aktual! Pa marrë parasysh se çfarë ju tregoni me kolegët rreth asaj se si shumë punë shtesë sistemin tuaj do të bëjë nëse nuk keni numrat për të mbështetur këtë ide garancitë tuaja nuk janë asgjë. Pra,

  • sa të dhënat mund të përpunojë momentalisht? Per Day? Në orë?
  • Sa kohë e bën atë në mënyrë tipike të marrë për ta kthyer rreth një punë?
  • Sa më shumë kapacitet keni?

Ka edhe pyetje shtesë:

  • Nqs serveri juaj e përpunimit (ose një nga serverat tuaj të përpunimit) shkon poshtë si do të ndikojë kjo aftësitë tuaja, do të jeni të gjymtuar?
  • Cilat jane avantazhet e ju shpresoni / presin për të marrë nga një sistem rrjetit?
  • Janë makina zyrën tuaj të aftë për drejtimin e punëve?
  • A juaj (ose mund Punë të konvertohet) që wrok në këtë stil të rrjedhshëm?

Pika e fundit e madhe është që të marrë kohën tuaj për çdo ndryshim të madh si ky. Update kodin tuaj të përpunimit të punojnë duke përdorur metodologjinë e re, reperit përsëri. Ndoshta krijuar serverin tuaj të përpunimit të drejtuar një makinë virtuale, pas gjithë serverin tuaj të përpunimit do të jetë vetëm një tjetër punëtor (vetëm një shumë të fuqishme relativisht). Lejo proces i ri për të zgjidhur.

Dislokimi

Sugjerimi im do të jetë për pop në një fundjavë të zyrës të kryejnë të gjitha instalimet dhe setup. Bëni këtë vetëm para dy javë pushime së dhe të largohet në mënyrë tjetër djalë i varfër që të merren me pasojat ... ndoshta jo ...

Vendosja e një sistemi si ky duhet të jetë i ngadalshëm. Pavarësisht nga kjo janë relativisht të thjeshtë për të ngritur këtë sistem do të ndikojë në tërë infrastrukturën tuaj zyre (edhe një digjital). Së pari, rrokulliset nga një çift të makinave në një kohë, trafiku monitorimin e rrjetit, si pret punonjësi të kryer mbi një bazë të ditë-për-ditë. Ju mund të kenë nevojë për të ndryshuar konfigurimin tuaj të punës në përgjigje të gjetjeve tuaja.

Pasi sistemi ka vendosur me disa makina pak (lejon thonë se 10% e të gjitha makinave të zyrës, dmth 5) të mbajtur rrjet të trafikut të monitorimit dhe makinë host performance. etapë tjetër përsëri, ju duhet tani të përpunimit punë 33% më shumë se standardeve tuaj të parë. Kontrolloni kjo është kështu, ose që ju jeni të paktën në këtë ballpark. Nëse jo, të hetojë atë që po ndodh para se të lëvizin. Përsëriteni këtë cikël deri sa ju për fat të mirë kanë të gjitha makinat e zyrës duke vrarë pa performancën individuale apo makine bluarje rrjetin tuaj në vend numëro.

Në të gjitha kohërat të mbajtur krahasime, edhe pas të gjitha dislokimet janë bërë. Kontrolloni se si përditësime të reja kod të ndikojë në shpejtësinë e sistemit tuaj, kontrolloni të gjithë punëtorët janë raportuar në përpunimin dhe vende pune. Ngadalë (shumë ngadalë) Rritja konfigurimin tuaj të punës për të marrë maksimumin nga punëtorët tuaj dhe rrjetit.

Stop!

Çfarë ndodh nëse ju doni për të ndaluar punëtorët tuaj të kandidonte në një kohë? Ata janë të gjithë atje duke, regjeneruese, dhe duke u përpjekur të mirën e tyre për një proces të dhënave si insekte uritur. Përgjigja mund të duket e qartë, por me vlerë të tij duke shtuar se vetëm në rast se neglizhohet saj. Thjesht editojnë shkrimit tuaj të përpunimit me një dalje (0) ose vdesin () ose disa deklarata të tjera për të vrarë punën tuaj të përpunimit. Një arsye e rëndësishme pse ne gjithmonë përpiqemi për të rinovuar të shkrimit të fundit të përpunimit para çdo afat!

Sistemi Demonstration

Në mënyrë që të shkruaj këtë sërë artikujsh të shkurtër dhe unë krijuar një rrjet shumë të vogël për të demonstruar e teknologjive dhe metodologji. Kam lexuar shumë artikuj, mësime, dhe të përdoren mjete të ndryshme për të setup dhe vëzhguar se çfarë po ndodhte. Në asnjë mënyrë nuk kam shkuar jashtë dhe i ngopur një zyrë të tërë me trafikun dhe as kam pasur akses në një PC të rregullt anëtarët e stafit për të parë se si performanca host ishte prekur.

Sistemi im demonstratë ishte shumë e përulur të vërtetë. I përdorur desktop tim të rregullt të ngritur si një server të kontrollit të punës. Në këtë kisha instaluar mySQL server instaluara ngritur si një mjeshtër në përsëritje, PHP , Â dhe SVN të lidhura nëpërmjet Apache (për qasje nëpërmjet VM punëtor).

Unë pastaj krijuar një makinë punëtor CentOS në VirtualBox në një 6 vjeçar laptop të vjetër Windows XP. Unë të setup detyrave të planifikuara siç specifikohet pas kopjimin e VM mbi makinë dhe le të shkojnë.

Makina virtuale u ngrit me PHP, përmbysje, dhe mySQL. I kontrolluar nga një degë të quajtur 'punonjës' nga kontrolli depo tim të punës servers dhe e bëri që ajo të mund të përditësuar duke përdorur 'svn freskimi'. Next kam Setup MySQL si një skllav dhe kontrolluar se të dhënat u përsëritur nga MySQL në server të kontrollit të punës deri në VM punëtor. Pas gjithë kësaj unë setup script bash dhe punë cron.

Script ime përpunimit thelb shkoi përgjatë vijave të këtë (gjëra shumë e thjeshtë):

  • Lexoni në fushën e emrit
  • Numëruar numrin e emrave të ngjashme në një tryezë nga burimi i të dhënave të mbajtur në VM
  • Numëruar numrin e emrave, si emrit të mësipërm, por ndarja e nga hapësirat dmth emri, të mesëm, mbiemri)
  • Përsëritet këtë proces 1000 herë

Çdo punë e mori rreth 20 minuta për të kandiduar. Në një moment kam hapur disa kopje të VM punëtor në laptopë dritaret dhe shikonte punët e të kontrolluar nga jashtë, secili prej adresave IP punëtore. Në këtë pikë unë gjithashtu konfirmoi se përsëritje automatikisht rifilluar.

Lënia laptopë për të papunë rezultoi në një punëtor filluar të përpunojë punë nga serveri kontrollit të punës. Kur rifillimin e përdorimit laptop ka pasur një vonesë prej rreth 30-60 sekonda, kjo është një sasi e drejtë të kohës dhe stafi do të duhet të bëhen të vetëdijshëm se makina e tyre mund të bëj një pauzë për një kohë të shkurtër, kur kthehen në makinë. Makina të reja nuk mund të ketë një pauzë për këtë kohë. Përfitimi i shumës së përpunimit të kryera nga këto makina gjatë periudhave të kota do të jenë më të mëdha më shumë se anëtarë të stafit që kanë të prisni një periudhë të shkurtër (të themi 1 minutë) erdhi në makinat e tyre të një mëngjes (unë shpesh presin më gjatë se kjo për një mbrojtës e Windows rinovuar të ndodhë), me kusht që ato janë bërë të vetëdijshëm për këtë (koha e dobishme për të rrëmbyer një kafe në mëngjes!).

Në përgjithësi unë të ndjehen të sigurt që kam treguar e teknologjive që mund të përdoren për të krijuar një sistem të tillë. Unë kam treguar se një sistem i tillë funksionon në një shkallë të (shumë) të vogël dhe me disa më shumë eksperimente mund të shkallëzuar deri të shfrytëzojë burimet e makinave në një zyrë. Nëse unë nuk do të marrë deri në pikën e bërë këtë unë do të jetë shumë i interesuar të di / shohim kur dikush tjetër bën.

Konkluzionet e vlerësimit /

Hapi i ardhshëm do të jetë e qartë që në fakt të marrë një shembull të vërtetë botërore dhe të fillojnë për të vendosur një sistem të tillë si ky brenda një mjedis zyre dhe shikoni se çfarë ndodh. Kërkuar një biznes të angazhohen për këtë pa një kompani gjurmë që flakëron për të provuar të teknologjisë dhe efektiviteti mund të jetë pak e vështirë. Grid / informatikë Shpërndarë është shumë popullor është disa qarqe dhe ka disa aplikacione të madhe të ushqimit (BIONC, SETI @ Home, Folding @ Home, etj). Unë nuk e bëri, megjithatë, të gjejnë një shkallë të vogël dhe të sistemit të thjeshtë si kjo në kërkimet e mia që mund të jetë i mbështjellë brenda një mjedis zyre.

I krijuar një sistem në thelb të lirë duke përdorur software më së shumti me burim të hapur dhe mjetet në dispozicion në pothuajse çdo zyrë. Teknologjitë u demonstruan në thelb dhe të tregojë për të kryer dhe të punojnë ashtu siç pritet. Shpresojmë që unë kam treguar se me punë jo shumë dhe me një organizim shumë të thjeshtë ju mund të vendosë një rrjet zyre sistem informatikë që është i fuqishëm, të lirë, Â shkallëzuar dhe të gjithë në të njëjtën kohë.

Pasi një sistem është dhe drejtimin nuk ka pothuajse asnjë fund në shumën e customization dhe përmirësime ju mund të bëni. Për statistikat shembull / benchmarking lehtë mund të shtohet duke treguar vlerën e një sistemi të tillë çdo ditë. Makina të reja mund të shtohen shpejt dhe me lehtësi si dhe kur ata arrijnë me përmirësimet hardware ekzistues të përkrahur pushtetin tuaj përpunimit.

Unë shpresoj se ju kam gëzuar lexuar këtë seri artikujsh dhe saj ju dha ushqim për të menduar në drejtimin e një sistemi të rrjetit zyre. Zgjidhja e paraqitur këtu jo domosdoshmërisht do të punojë në të gjitha situatat, por duhet të jetë i adaptueshëm për të lejuar ju që të merrni përpunimi i të dhënave juaj bëhet duke përdorur zgjidhjen tuaj.

Ju lutem mos ngurroni të më dërgoni ndonjë koment, korrigjimeve, ose përmirësimet dhe unë do të bëj çmos që ta mbajmë këtë artikull përditësuar të ndeshjes.













Theme nga Panorama Themocracy

4 vizitorë online tani
3 mysafirë, 1 bots, 0 anëtarë
Vizitorë Max sot: 8 at 12:00 am UTC
Këtë muaj: 56 në 25-04-2012 08:41 AM UTC
Këtë vit: 69 në 27-02-2012 09:56 am UTC
Gjithë koha: 130 në 28-03-2011 UTC 10:40 PM