HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://www.evilprofessor.co.uk/tag/worker/ Content-Type: text/html; charset=UTF-8 Date: Sun, 06 May 2012 14:17:58 GMT X-Frame-Options: ALLOWALL Set-Cookie: PREF=ID=857c883a35ab6ef0:TM=1336313878:LM=1336313878:S=h6nPHIa_Ma1UmPp9; expires=Tue, 06-May-2014 14:17:58 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: HTTP server (unknown) Cache-Control: private X-XSS-Protection: 1; mode=block Expires: Sun, 06 May 2012 14:17:58 GMT Evilprofessor.co.uk »manggagawa

Post tag: manggagawa

Office Grid computing gamit Virtual kapaligiran - Part 3

, mga Biyernes 4th Disyembre 2009 23:37

Pagpapakilala

Magtrabaho ako sa isang kumpanya kung saan tumakbo namin ang maraming mga batch trabaho na pagproseso ng mga milyon-milyong ng mga talaan ng data sa bawat araw at ako ay iniisip kamakailan tungkol sa lahat ng mga machine na umupo sa paligid ng bawat at bawat araw paggawa ng wala para sa mga ilang oras. Hindi magiging mahusay na kung maaari naming gamitin ang mga machine sa magbolster ang pagproseso ng kapangyarihan ng aming mga system? Sa hanay ng mga artikulo na ako pagpunta sa tumingin sa mga potensyal na benepisyo ng employing ng isang tanggapan grid na gamit ang virtualised kapaligiran.

Sa bahagi 2 namin tumingin sa trabaho server ng ​​tatakbo, at kung paano ang mga trabaho ay dapat na-configure upang makamit ang pinakamalaking halaga ng pagproseso habang tinitiyak na ang bawat trabaho ay naproseso walang sablay.

Pagse-set up ng iyong manggagawa - o malata server

Ang susunod na hakbang sa proseso ay i-set up ang iyong mga virtual na manggagawa. Para sa ako pagpunta sa gamitin ang isang pag-install ng mga centOS na gamit VirtualBox. Ako pagpunta upang i-install ang MySQL at PHP sa server, na kilala rin bilang isang tikod (Li nux, ang m ySQL, P HP) Server (na maaari kong ginawa na pangalan up).

  • I-install ang VirtualBox sa iyong machine sa bintana (sundin ang link)
  • I-download at i-install ang centOS (kasalukuyang bersyon 5.3) sa loob ng isang nilikha virtual machine

Walang point sa akin ng pagpunta sa may marahil 1,000 's ng mga mahusay na mga tutorial out doon (ok, narito ang isa: Paglikha at Managing centOS virtual machine sa ilalim ng virtualbox ). Ang mahalagang punto upang tandaan ipagpalagay ko na tinatawag ko ang aking virtual machine GridMachine.

Bilang malayo bilang aking mga pagpipilian ng ang virtualisation client at operating system pumunta doon ay walang malaking nakahihimok na dahilan para sa bawat pagpipilian. VirtualBox ay isang bagay na gamitin ko sa aking bahay machine at suportado ng ang tatlong pangunahing mga operating system. Pinili ko ang mga centOS bilang nito ang isang magandang matatag na OS at gagamitin ko ito sa aking sariling web server. Ako ay isang mahusay na believer sa mga karapatan na kasangkapan para sa trabaho (bagaman ako ng nag-aaplay sa 'gamitin ang pinakamabilis at pinakamadaling para sa' kuru-kuro dito), kaya kung operating system na nagpapatakbo ng X ang iyong code mas mabilis at mas mahusay na gamitin sa halip :)

Mahalaga siguraduhin na ang iyong VM ay gumagamit ng DHCP, kung hindi man para sa bawat bagong virtual machine ay kailangang naka-configure ang hiwalay na kung saan ay isang bagay na hindi namin want.By gamit ang DHCP hindi namin kailangan i-configure ang mga setting ng network nang paisa-isa para sa mga machine manggagawa, ang DHCP ay ipasa out sa mga IP para sa iyo. Samakatuwid maaari mong kopyahin ang iyong virtual machine tungkol sa opisina nang hindi worrying tungkol sa pagtatakda ng bawat isa hanggang (ito ay mapabuti ang kakayahang sumukat at binabawasan manggagawa administrasyon).

Ang proseso na kailangan mong sikaping upang makamit ay upang makakuha ng isang bagong pisikal machine, install VirtualBox, at pagkatapos ay medyo magkano lumawak ang virtual imahe nang walang magkano ang iba. Maaaring ito ay matalino upang i-setup ang lahat ng iyong mga manggagawa sa isang iba't ibang subnet kaya na maaari mong hindi bababa sa makita kung gaano karaming mga machine ay tumatakbo. Makikita mo rin kailangang mag-set up ang iyong machine sa isang mahabang lease o walang limitasyong lease DHCP.

Paano patakbuhin ang mga Trabaho sa ang manggagawa

Ito ay isang kagiliw-giliw na lugar at may ilang mga wastong pamamaraan para sa pagproseso ng mga trabaho sa manggagawa. Dito kukunin ko na lang pag-usapan ang dalawang pinaka-halata:

  • Magpakailanman tumatakbo ang script: script A, maging ito ng isang shell script, o isang PHP script ay pinaandar nang isang beses sa ang manggagawa at tumatakbo bilang bahagi ng isang walang hanggan loop. Bawas ko na ang paraan na ito bilang isang pag-crash ng script at potensyal na ang iyong mga manggagawa ay itigil upang tumakbo nang walang ilang uri ng interbensyon.
  • Cron based na pagpapatupad ng script: bawat X minuto ang cron demonyo kicks-off ang isang tawag sa iyong script upang makakuha ng mga bagay-bagay pagpunta. Walang ilang pagsuri na ito ay maaaring humantong sa maraming maraming mga kopya ng inyong manggagawa script na tumatakbo.

Aking desisyon ay upang pumunta sa cron kung saan kicks off ang shell script bawat 10 minutes. Aking shell script gumaganap ang mga sumusunod na gawain:

  1. Kumuha ng isang listahan ng proseso at grep ito para sa 'php'. Kung hindi natagpuan pagkatapos ay magpatuloy.
  2. Tawagan ang iyong code sa trabaho, sa aking mga kaso na ito ay magiging isang bagay PHP batay
  3. Manggagawa script nakumpleto nito run
  4. Handa na pumunta muli sa susunod na angkop na tawag

Aking Bash script mukhang isang bagay tulad ng sumusunod:

  #! / Bin / SH
 kung PS palakol | grep-v grep | grep php> / dev / null
 pagkatapos
     echo "Job ay kasalukuyang pinoproseso, lumabas"
 iba
     umalingawngaw ang "Job ay hindi tumatakbo, simulan ngayon"
     php yourJobProcessingScript.php
 Fi 

Tandaan: ang echo ng ay halos ganap na walang kabuluhan, ngunit maaaring makatulong ang susunod na tao na dumating kasama upang subukan at i-edit ang mga ito.

Na concludes ang set up ng mga virtual machine manggagawa, mabilis, simple, at madaling kopyahin sa bawat bagong piraso ng hardware na natanggap. Ang 'kabihasnan' ng sistema ng grid ay talagang hindi sa ang visualized OS na, ang lahat upang gawin sa ang code na nilikha sa trabaho sa proseso, ang configuration ng trabaho, at sa pagtiyak na ang trabaho ay nagpapatakbo kapag naaangkop na (ibig sabihin kapag ang host ay bakante ).

Pagse-set up Windows sa Initialise ng Manggagawa

Ang unang gawain ay upang gumana ang command na kinakailangan upang patakbuhin ang virtual machine mula sa bintana command na linya. Kung na-install virtualBox sa ang default na lokasyon at pinangalanan mo na ang iyong manggagawa GridMachine pagkatapos ay ang command na kinakailangan upang i-load ang iyong manggagawa ay:

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

Subalit upang patakbuhin ang script sa isang 'walang ulo' na estado kailangan naming gamitin:

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

Ito ay simulan ang virtual machine na walang GUI at payagan ang mga ito upang i-save ang estado maganda. Ang pangalawang argumento ay lumiliko off RDP kaya hindi salungat sa mga bintana RDP, o magbigay sa iyo ng isang mensahe tungkol sa pakikinig sa port 3389. Ang mga virtual machine pangalan ay case sensitive!

Susunod, kami ay kailangan upang itakda ang mga bintana upang mag-alis ng aming manggagawa VM-sabay machine ay naging idle. Upang gawin ito (sa Windows XP) kailangan mong pumunta sa Start -> All Programs -> Accessories -> System Tools -> Naka-iskedyul Gawain bilang sa ibaba:

naka-iskedyul na mga gawain

Susunod click sa 'Magdagdag Naka-iskedyul ang Gawain' sinundan sa pamamagitan ng-browse sa magdagdag ng isang pasadyang programa. Mag-navigate sa iyong VBoxManage script at i-click ang ok. Iskedyul ang iyong mga gawain para sa anumang ng mga pagpipilian (kami ay baguhin ito sa isang minuto) at magpatuloy. Pagkatapos laktaw sa susunod na screen windows ka na tatanungin na gusto mong patakbuhin ang gawaing ito, gusto ko iminumungkahi ang alinman sa 'Administrator' o paglikha ng isang bagong privileged gumagamit. Tandaan na hindi namin gusto mong makagambala sa karaniwang kawani ng account sa machine sa anumang punto. I-click ang susunod at ang ipakita ang mga advanced na mga opsyon para sa gawain.

Sa dulo ng textbox run magdagdag ng aming string na 'startvm GridMachine' at matiyak na run na lamang kapag naka-log in ay iniwan unticked. Bisitahin ang gawain ng iskedyul sa tabi at baguhin ang iskedyul ng drop down na ang pagpipiliang 'kapag idle', piliin ang halaga ng oras na gusto mo machine ang maging idle bago lumipat sa sa susunod na tab.

Panghuli untick ang opsyon na estado itigil ang mga gawain kung ito ay tumatakbo ng X halaga ng oras, ngunit garapata ang pagpipilian upang itigil ang mga gawain kung machine ay hindi na naka-idle.

iskedyul

Iyan ay para sa setup ng windows host!

Buod

Sa bahaging ito namin ang set up ng isang virtual machine upang kumilos bilang isang manggagawa, pati na rin ang paraan na kung saan namin tumawag at isakatuparan ang aming mga script sa pagpoproseso ng trabaho (para sa aking sarili ng isang PHP script). Mula dito namin tumingin sa kung paano mag-set up ng aming mga kopya ng mga bintana upang simulan ang virtual machine sa walang ulo mode kapag ang computer ay nagiging idle, at i-save ang kanyang estado kapag ang gumagamit ay magpapatuloy paggamit ng machine. Sana sa puntong ito ikaw ay nakakakita ng kung paano simple ito ay i-set up ganoong isang sistema at nangangati upang makakuha ng ilang mga eksperimento ng pagpunta sa iyong sarili!

Susunod na

Sa Bahagi 4 kami ay naghahanap gamit ang mga tool upang matiyak na kayo ay tumatakbo sa pinakabagong bersyon ng mga pinagkukunan ng code at data upang makuha resulta ay laging up-to-date sa pinakabagong impormasyon sa negosyo at lohika.

Office Grid computing gamit Virtual kapaligiran - Bahagi 5

, mga Biyernes 4th Disyembre 2009 11:03

Pagpapakilala

Magtrabaho ako sa isang kumpanya kung saan tumakbo namin ang maraming mga batch trabaho na pagproseso ng mga milyon-milyong ng mga talaan ng data sa bawat araw at ako ay iniisip kamakailan tungkol sa lahat ng mga machine na umupo sa paligid ng bawat at bawat araw paggawa ng wala para sa mga ilang oras. Hindi magiging mahusay na kung maaari naming gamitin ang mga machine sa magbolster ang pagproseso ng kapangyarihan ng aming mga system? Sa hanay ng mga artikulo na ako pagpunta sa tumingin sa mga potensyal na benepisyo ng employing ng isang tanggapan grid na gamit ang virtualised kapaligiran.

Sa Bahagi 4 namin tumingin sa gamit ang mga tool upang masiguro na kami ay tumatakbo sa pinakabagong bersyon ng mga pinagkukunan ng code at data upang makuha resulta ay laging up-to-date sa pinakabagong impormasyon sa negosyo at lohika.

Pre-deployment

Bago paganahin ang iyong mga sistema ng grid kung mayroong isang bagay na gagawin mo at isang bagay lamang ang benchmark iyong kasalukuyang system! Walang bagay na kung ano ang sabihin sa iyo ang mga kasamahan tungkol sa kung magkano ang dagdag na trabaho ang iyong system ay pagpunta sa gawin maliban kung mayroon kang mga numero ito i-back up ang iyong mga garantiya ay walang. Kaya,

  • kung gaano karaming mga tala maaari mong proseso ang kasalukuyang? Bawat Araw? Bawat oras?
  • Gaano katagal ang karaniwang tumagal upang i-sa paligid ng isang trabaho?
  • Magkano higit kapasidad ang mayroon ka?

Mayroon ding mga karagdagang katanungan:

  • Kung ang iyong processing server (o isa ng iyong mga server sa pagproseso) napupunta down kung paano ito makakaapekto sa iyong kakayahan, ikaw ay lumpo?
  • Ano ang pakinabang ang inaasahan mo / asahan upang makakuha ng mula sa isang sistema ng grid?
  • Sigurado sa iyong opisina ng machine kaya ng tumakbo ang mga trabaho?
  • Ay iyong (o maaari mong trabaho iko-convert) sa wrok sa ito estilo ng tumatakbo?

Ang huling mga pangunahing punto ay upang dalhin ang iyong oras sa anumang mga pangunahing pagbabago tulad nito. I-update ang iyong code sa pagpoproseso upang gumana gamit ang bagong pamamaraan, benchmark muli. Posibleng set up ang iyong processing server upang magpatakbo ng isang virtual machine, matapos ang lahat ng pagpoproseso ng iyong server ay lamang ng isa pang manggagawa (isang napaka-makapangyarihang isang relatibong). Payagan ang bagong proseso upang manirahan.

Paglawak

Ang aking mungkahi ay magiging mag-pop sa linggo sa opisina isa isagawa ang lahat ng mga gusali at setup. Gawin ito bago ang holiday ng dalawang linggo at umalis kaya iba pang mahihirap na pagputok-putok sa makitungo sa mga sa mga kahihinatnan ... maaaring hindi ...

Deployment para sa isang sistema tulad nito ay kailangan na maging mabagal. Sa kabila nito relatibong simpleng mag-set up ang system na ito ay makakaapekto sa iyong buong opisina imprastraktura (na rin ang digital). Una, igulong sa isang pares ng mga machine sa isang oras, monitor ng network ng trapiko, kung paano ang mga host manggagawa gumanap sa isang pang-araw-araw na batayan. Maaaring kailanganin mong baguhin ang configuration ng iyong trabaho sa pag-tugon sa iyong mga natuklasan.

Kapag ang sistema ay palagian na may ilang mga machine (nagbibigay-daan sa sabihin 10% ng lahat ng machine office, ie 5) mapanatili ang trapiko sa network ng pagmamanman at host machine performance. Susunod na benchmark muli, dapat mong ngayon ay pinoproseso 33% na higit pang mga trabaho sa iyong unang benchmarks. Suriin na ito ay kaya, o na ikaw ay hindi bababa sa halos katumbas na ito. Kung hindi, siyasatin kung ano ang pagpunta sa bago lumipat sa. Ulitin ang cycle hanggang ka maligaya na ang lahat ng mga opisina ng mga machine na tumatakbo nang walang pagpatay ng performance ng indibidwal na machine o paggiling ng iyong network sa isang pagtigil.

Sa lahat ng oras panatilihin ang benchmarking, kahit na matapos ang lahat ng mga deployments ay ginawa. Suriin kung paano makakaapekto ang mga update ng bagong code sa bilis ng iyong system, suriin ang lahat ng mga manggagawa ay pag-uulat sa at pagproseso ng mga trabaho. Dahan-dahan (masyadong mabagal) pagdagdag sa configuration ng iyong trabaho upang makuha ang pinakamahusay mula sa iyong mga manggagawa at network.

Itigil!

Paano kung gusto mong ihinto ang iyong mga manggagawa mula sa pagtakbo sa ilang oras? Sila ay ang lahat out doon tumatakbo, regenerating, at sinusubukan ang kanilang mga pinakamahusay na-proseso ang data tulad ng gutom na mga insekto. Ang sagot ay maaaring mukhang halata ngunit nito nagkakahalaga ng pagdaragdag lamang sa kaso nito overlooked. I-edit lamang ang iyong mga script sa pagproseso sa isang exit (0) o mamatay () o ilang iba pang mga pahayag sa pumatay ng iyong trabaho sa pagproseso. Isang mahalagang dahilan bakit lagi naming subukang i-update ang pinakabagong script ng processing bago anumang run!

Pagpapakita System

Upang isulat ang hanay na ito ng mga maikling artikulo nilikha ko ang isang maliit na grid upang ipakita ang mga teknolohiya at methodologies. Ako basahin ang maraming ng mga artikulo, mga tutorial, at ginagamit ng iba't-ibang mga kasangkapan sa setup at subaybayan kung ano ang pagpunta sa. Sa pamamagitan ng walang paraan na ako ay nawala at puspos ng isang buong opisina sa trapiko at hindi rin ako ay may access sa isang regular na PC miyembro ng kawani upang makita kung paano ang host pagganap ay apektado.

Aking pagpapakita system ay napaka-abang talaga. Ginamit ko ang aking regular na desktop na-set up bilang isang server ng kontrol ng trabaho. Sa ito ako ay naka-install MySQL server install-set up bilang isang master sa pagtitiklop, PHP , A at ng SVN link sa pamamagitan ng Apache (para sa access sa pamamagitan ng manggagawa VM).

Pagkatapos ko nilikha ang isang centOS manggagawa machine sa VirtualBox sa isang 6 na taong gulang windows XP laptop. Ko-setup ng mga naka-iskedyul na mga gawain tulad ng tinukoy matapos kopyahin ang VM papunta sa machine at ipaalam sa ito pumunta.

Ang virtual machine-set up gamit ang PHP, pagkawasak, at MySQL. Check out ako ng isang sangay na pinangalanang 'manggagawa' mula sa mga server ng aking trabaho repositoryo control at ginawa bang maaari itong ma-update gamit ang 'svn update'. Susunod ako ng setup MySQL bilang isang alipin at check ang data na iyon ay Kinokopya mula sa MySQL sa server ng kontrol ng trabaho pababa sa VM manggagawa. Matapos ang lahat ng ito ko setup ang Bash script at ang cron trabaho.

Aking processing script talaga nagpunta kasama ang mga linya na ito (napaka-simpleng mga bagay-bagay):

  • Basahin ang sa ang pangalan ng patlang
  • Binibilang ang bilang ng mga katulad na pangalan sa isang table mula sa data ng pinagmulan na gaganapin sa ang VM
  • Binibilang ang bilang ng mga pangalan bilang sa itaas ngunit malakas ang pangalan ng mga puwang (ie pinangalanan, gitna, apelyido)
  • Paulit-ulit na ang prosesong ito 1,000 ulit

Trabaho bawat kinuha ng humigit-kumulang 20 minuto upang tumakbo. Sa isang punto ko ay binuksan ng ilang mga kopya ng mga manggagawa ang VM sa laptop bintana at pinapanood ang mga trabaho ay naka-check-off sa pamamagitan ng bawat isa ng ang manggagawa IP address. Sa puntong ito nakumpirma ko rin na awtomatikong-restart ang pagtitiklop.

Aalis ang laptop sa idle nagresulta sa isang manggagawa na nagsisimula upang iproseso ang mga trabaho mula sa server ng kontrol ng trabaho. Kapag ipagpatuloy laptop paggamit nagkaroon ng pagkaantala ng 30-60 segundo, ito ay isang makatarungang halaga ng oras at kawani ay kailangang gawin ng kamalayan na ang kanilang machine ay maaaring i-pause para sa isang maikling habang kapag bumabalik sa ang makina. Mas bagong machine ay hindi maaaring magkaroon ng isang i-pause ng mga ito mahaba. Ang mga benepisyo ng ang halaga ng pagproseso na gumanap ng mga machine habang idle panahon ay higit na malamangan ng mga miyembro ng kawani na kinakailangang maghintay ng isang maikling panahon (sabihin ang 1 minuto) sa pagdating sa kanilang mga machine ng isang umaga (madalas ko maghintay na na ito para sa isang Windows defender i-update upang kumuha ng lugar) na ibinigay sila ay ginawa ng kamalayan na ito (kapaki-pakinabang na oras upang makakuha isang umaga kape!).

Pangkalahatang Pakiramdam ko ay tiwala na ako ay ipinapakita ang mga teknolohiya na maaaring magamit upang lumikha ng tulad ng isang sistema. Ipinakita ko na ang ganitong sistema ay gumagana sa sa isang (masyadong) maliit na sukat at sa ilang mga higit pa eksperimento ma-scale gamitin ang mga mapagkukunan ng mga machine ng isang opisina. Kung hindi ko makuha ang punto ng paggawa nito Gusto ko masyadong interesadong malaman / makita kapag may ibang tao ang.

Konklusyon / Pagsusuri

Ang susunod na halata na hakbang ay upang aktwal na makakuha ng isang tunay na halimbawa ng mundo at simulan upang lumawak ang isang sistema tulad ng mga ito sa loob ng isang opisina ng kapaligiran at tingnan kung ano ang mangyayari. Humihiling ng isang negosyo na gumawa na ito nang walang isang bulaos ng kumpanya na nagliliyab upang patunayan ang teknolohiya at pagiging epektibo ay maaaring maliit na mahirap. Grid / ipinamamahagi computing ay napaka-tanyag ay ang ilang mga bilog at may ilang mga malalaking mga aplikasyon (BIONC, SETI @ Home, ang Folding @ home, atbp). Hindi ko, gayunpaman, makahanap ng isang mas maliit na sukat at simpleng sistema tulad nito sa aking mga paghahanap na maaaring lulon sa loob ng isang opisina ng kapaligiran.

Nilikha ko talaga libreng sistema na gumagamit ng halos open source software at mga kasangkapan na magagamit sa halos anumang opisina. Ang mga teknolohiya ay talaga ipinapakita at ipakita upang gawin at gumagana tulad ng inaasahan. Sana mayroon akong ipakita na may hindi magkano ang trabaho at sa isang napaka-simpleng setup maaari mong lumawak isang opisina grid computing system na malakas, murang, A at nasusukat ang lahat sa parehong oras.

Kapag sistema ay up at tumatakbo doon ay halos walang katapusan sa ang halaga ng pagpapasadya at pagpapabuti maaari mong gawin. Para sa statistics ng halimbawa / benchmarking ay madaling idinagdag na nagpapakita ng halaga ng mga tulad ng isang sistema araw-araw. Bagong machine maaaring idagdag mabilis at madaling bilang at kapag dumating sila sa mga upgrade sa mga umiiral na hardware bolstering iyong processing kapangyarihan.

Umaasa ako Nasiyahan pagbabasa na ito serye ng mga artikulo at ang nagbigay sa iyo ng pagkain para sa pag-iisip sa pagpapatakbo ng isang sistema ng grid ng opisina. Ang solusyon na ipinakita dito ay hindi kinakailangang gumagana sa lahat ng mga sitwasyon ngunit dapat ay madaling ibagay upang payagan ka upang makakuha ng iyong mga data processing tapos gamit ang iyong sariling mga solusyon.

Mangyaring huwag mag-atubiling ipadala sa akin ang anumang mga puna, pagwawasto, o mga pagpapabuti at kong gawin ang aking pinakamahusay na upang mapanatili ang artikulong ito na-update upang tumugma sa.













Panorama Tema sa pamamagitan ng Themocracy

5 mga bisita sa online ngayon
2 mga bisita, 3 bot, 0 miyembro
Max mga bisita ngayon: 11 sa 06:30 am UTC
Sa buwang ito: 16 sa 2012/01/05 1:02 pm UTC
Ito taon: 69 sa 27-02-2012 09:56 am UTC
Lahat ng oras: 130 sa 28-03-2011 10:40 pm UTC