Kategorija: Linux

Biroja Grid Computing, izmantojot virtuālo vidi - 4.daļa

Ar Steven Lloyd Watkin , Piektdiena Dec 4, 2009 11:59

Ievads

Es strādāju uzņēmumā, kur mēs palaist daudzas partijas darba apstrāde miljoniem pieraksti par datiem, katru dienu, un es esmu domājis nesen par visām mašīnām, sit pa katru dienu neko nedarot vairākas stundas. Vai tas nebūtu labi, ja mēs varētu izmantot šos mehānismus, lai pastiprinātu datu apstrādes jaudu no mūsu sistēmu? Šo kopu rakstu es esmu gatavojas apskatīt iespējamos ieguvumus nodarbina biroja tīklu , izmantojot virtualised vidē.

Jo 3 daļu mēs izveidojām mūsu virtuālajā apstrādes mašīnas un izveidot Windows mašīnas, lai kļūtu dīkstāvi darbiniekiem.

Rādīt jaunākos kodu

Neizbēgami pēc veidojot savu darba biznesa loģiku mainīsies, bugs tiks atrasts, ātrāk efektīvāk kods tiks ražots, tādējādi atstājot savu darba sēdēja ap datu apstrādi, izmantojot veco smirdošs kodu . Kā tad mēs nodrošinātu to, ka mēs vienmēr izmantot jaunāko un lielāko versiju mūsu apstrādes skriptu?

Ir daži ļoti viegli vienkāršiem veidiem, kā mēs varētu darīt, triks, tomēr ir samazināt apstrādes jaudu un tīkla satiksmes sasniegtu šo mērķi. Lets sākt ar vienkāršāko risinājumu, un to uzlabot lēni pāris atkārtojumiem.

Pirmā metode būtu vienkārši savienot ar mūsu darba kontroli serveri (caur samba, FTP vai līdzīgām), un pavelciet uz leju jaunākā versija kodu. Ne sevišķi efektīva metode, bet tas būs darīt to darbu. Ļauj uzlabot, ka nedaudz, kā uztrauc rsync skriptu un izmantojot, ka katru reizi vietā? Pakārtoti, kādi, liekot mūsu jaunākās pārstrāde skriptu gāšanu pārbaudes veic koda sākumā un pēc tam tikai atjaunināt savu kodu uz katru palaist ( svn update )?

Galu galā mēs varētu beigties ar bash skriptu (ko sauc par cron ik pēc 10 minūtēm), kas izskatās tik vienkārši, kā šo:

  #! / Bin / sh
 ja ps ax | grep-v grep | grep php > / dev / null
 Pēc tam
     echo "Darba pašreiz apstrāde, izbraukšana"
 vēl
     echo "Darba nedarbojas, sākas tagad"
     cd / ceļš / uz / darba / kopija
     SVN update
     php yourJobProcessingScript.php
 fi 

Tagad mēs varam būt pārliecināti, ka ar katru palaist mēs noteikti rādīt jaunākos kodu. Mēs esam to nodrošināt, papildinot mūsu kodu bāze katru reizi, kad mēs veikt ceļu un samazina tīkla trafiku tikai nodot lietu atšķirības mūsu tīklā.

Manā demonstrācijas setup, es darīju tieši tā, kā iepriekš. Subversion ir uzstādīta uz mana darba apstrādi serveri un es vienkārši velk jaunākās kodu no "darba ņēmēja" filiāle, izmantojot "svn update". Es arī pievienoja versijas numurs tagu uz manu apstrādes skriptu, kas tika atdota datu bāzi kā daļu no rezultātu atgriezties. Tādā veidā es varētu redzēt, ka mans kods tika atjaunināta katru reizi, kad es kopēt mana rumpja uz darba ņēmēja filiāles, ti, ka man noteikti bija rādīt jaunākos apstrādes skriptu.

Izmantojot jaunākos datus

Ja jūsu darbs apstrādi izmanto datu avotu, tad kādā brīdī tie būs jāatjauno too. Ja vien jūs izsauktu datu avotiem par ļoti reti pamatu jūs gatavojas plūdiem savu tīklu ar satiksmes, tiklīdz jūsu darbinieki sāks darboties celt viss pārtraukšanas. Par manu risinājumu es nolēmu, ka es gribētu, lai pārvietotu savu datu avotiem apkārt ar savu VMS.

Turiet jūs zirgu tur! Ko darīt, ja datu avotu ir milzīgi? Nu tas tiešām ir gadījums, cik daudz datu mēs runājam? Tas var būt izdevīgi uzstādīt papildus lielāku cieto disku katras mašīnas, nevis iegādāties papildu apstrādes serveri. Šis ir jautājums par budžeta un ir līdz uzņēmuma ziņā. Tas varbūt, ka jūsu datu avoti ir tik liels, ka tā tikai neiespējami, lai saglabātu šo datu apjomu jūsu darbinieku mašīnas. Tādā gadījumā ko tu darītu? Nu mēs varētu apskatīt zvana lokālā datu serveri, bet tas var izraisīt problēmas ar tīklu. Šajā gadījumā tīkla sistēmu, piemēram, tas var kļūt reāli iekļaut savā biroja vidē. Tā var arī būt, ka jūs varat aplūkot alternatīvas braukšanas stratēģiju, piemēram, tikai zvanot jūsu darbiniekiem 20:00-06:00 katru nakti, un / vai droselēšanas datu avotu pieprasījumus.

Pārvietojas uz ļauj teikt mūsu datu avotu apjoms datu 100GB. Nu jā, ka ir diezgan daudz datu, lai pārvietotos pa tīklā atjauninājumu. Kā mēs nodrošinātu to, ka mums ir jaunākās datu kopiju šajā lietā? Rsync ir iespēja, bet personīgi es domāju, ka, darbinot savu jaunāko datu avots par jūsu darbu apstrādes serveri un nosaka šo darbību kā meistars replikāciju (ar jauku ilgi bin log) varētu būt veids, kā iet:

replikācijas Nosakot katru no jūsu darbiniekiem izveidota kā vergs darba kontroli serveri atjauninājumus jūsu datu avotiem sajust uz leju labi jūsu darbinieki nav ievērojami palielinājies tādu tīklu darbību (tas ir, ja veicat milzīgu datu aktualizēšana un visu savu darbinieku kick uzreiz). Tas ir priekšrocības salīdzinājumā ar rsync, jo jums nebūs ilgi pauzi pirms katra darba, kā datubāzes atjauninājumus, mysql daemon jūsu darbinieks pastāvīgi atjaunina savus datus, bet apstrādes turpinās.

Tas ir, kā es varu noteikt manu demonstrācijas serveri. Lai iestatītu atkārtošanas Es sekoju rokasgrāmata par MySQL vietā ( izveide replikāciju ) un 20 minūšu laikā man bija inital darbinieks atdarināt darba kontroli serveriem datu kopā. Par katru papildu darba ņēmējs replikāciju uzstādījumus un procesa strādāja katru reizi, kad VM tika kopēts.

Kopsavilkums

Šajā sadaļā rakstā mēs esam izskatījuši, cik viegli un nesāpīgi tas ir, lai jūsu apstrādes kodu atjauno using rsync vai subverion (SVN), lai veiktu darbu un samazina tīkla trafiku, tajā pašā time. Mēs arī apsprieda to, kā lai jūsu datu avota informācija up-to-date, ļaujot tai sajust līdz katram jūsu darbiniekiem. Tādējādi mēs jomu, nodrošinot, ka mums līdzi biznesa loģiku un informācija mūsu birojā elektrotīklus. Tur, protams, ir neskaitāmas alternatīvas veic minētos pienākumus, bet šeit ir divi vienkārši piemēri, lai parādītu, cik viegli risinājums ir nākt ar.

Nākamreiz

Pēdējā daļa no šīs sērijas, aptly nosaukts 5.daļa , mēs apspriestu izvietot šo sistēmu. Es apkopot to, kas ir iemācījušies un ko man izdevās izveidot.

Biroja Grid Computing, izmantojot virtuālo vidi - 3.daļa

Ar Steven Lloyd Watkin , Piektdiena Dec 4, 2009 23:37

Ievads

Es strādāju uzņēmumā, kur mēs palaist daudzas partijas darba apstrāde miljoniem pieraksti par datiem, katru dienu, un es esmu domājis nesen par visām mašīnām, sit pa katru dienu neko nedarot vairākas stundas. Vai tas nebūtu labi, ja mēs varētu izmantot šos mehānismus, lai pastiprinātu datu apstrādes jaudu no mūsu sistēmu? Šo kopu rakstu es esmu gatavojas apskatīt iespējamos ieguvumus nodarbina biroja tīklu , izmantojot virtualised vidē.

In 2 daļa mums paskatījās darbavietu serveri darbosies, un kā darba, jākonfigurē, lai panāktu lielāku pārstrādes apjoma, vienlaikus nodrošinot, ka katra uzdevums ir apstrādāti bez neizdoties.

Izveidot savu darbinieku - vai mīksts serveris

Nākamais solis ir izveidot savu virtuālo darba ņēmējiem. Par to es esmu gatavojas izmantot uzstādīšanu CentOS, izmantojot VirtualBox. Es esmu gatavojas uzstādīt MySQL un PHP uz servera, kas pazīstams arī kā mīksts (Li nux, m ySQL, P HP) Servera (es varētu būt veikti šo nosaukumu up).

  • Instalēt VirtualBox uz jūsu Windows mašīna (sekojiet saites)
  • Lejupielādēt un instalēt CentOS (pašreizējā versija 5.3), kas izveidota virtuālā mašīna

Nav nekādas jēgas man iet uz šo tur droši vien 1000 's lielu konsultācijas, kas tur (ok, te ir viens: veidošana un Managing CentOS virtuālās mašīnas ar VirtualBox ). Svarīgi atzīmēt Es domāju, ka es piezvanīju savam virtuālo mašīnu GridMachine.

Ciktāl tas ir manas izvēles virtualizācijas klientu un operētājsistēmas iet uz turieni nav liels pamatotu iemeslu katrai izvēli. VirtualBox ir kaut kas es varu izmantot par manu mājas mašīnu, un to atbalsta visas trīs galvenajām operētājsistēmām. Es izvēlējos CentOS, jo tās ir labs stabilu OS, un es varu izmantot to par savu web serveri. Es esmu liels ticīgais pareizie instrumenti darbam (lai gan es esmu piemērojot "izmanto ātrākais un vieglākais, lai jūs" mentalitāti šeit), tāpēc, ja operētājsistēma X darbojas savu kodu ātrāk un efektīvāk izmantot, ka tā vietā:)

Svarīgāk ir pārliecināties, ka jūsu VM izmanto DHCP, pretējā gadījumā attiecībā uz katru jaunu virtuālo mašīnu, būtu nepieciešams konfigurēt atsevišķi, kas ir kaut kas mums nav want.By izmantojot DHCP mums nav nepieciešams konfigurēt tīkla uzstādījumus individuāli darbinieku mašīnām, DHCP nodos kas IP jums. Tāpēc jūs varat iekopēt virtuālā mašīna par biroju, neuztraucoties par iestatījumu katram uz augšu (tas uzlabo mērogojamību un samazina darbinieks pārvaldi).

Procesu jums būtu jācenšas sasniegt, būtu, lai iegūtu jaunu fizisko mašīnu, instalēt VirtualBox, tad diezgan daudz izvietot virtuālo attēlu bez daudz kas cits. Tas varētu būt gudrs, lai setup visu savu darba ņēmēji dažādās apakštīkla, lai jūs varētu vismaz redzēt, cik daudz mašīnu darbojas. Jums būs nepieciešama arī, lai iestatītu automātus ilgtermiņa nomas vai neierobežotu nomas DHCP.

Kā rādīt Darbs uz darba ņēmēju

Tas ir interesants zonā, un ir vairākas derīgas metodes pārstrādei darbavietu darbiniekiem. Šeit es ņemšu tikai apspriest divus acīmredzami:

  • Mūžīgie darbības skriptu: skripts, vai tā shell skriptu, vai PHP skriptu tiek izpildīts, kad darba ņēmēja un vada kā daļu no neierobežotu cilpas. Esmu diskontētās šo metodi kā vienu katastrofas skriptu un, iespējams, Jūsu darbiniekiem būs pārtraukts, bez kaut kādas iejaukšanās.
  • Cron, pamatojoties skriptu izpildi: ik pēc x minūtēm cron dēmonu kicks off zvanu uz savu skriptu, lai iegūtu lietas turpinās. Bez dažiem pārbaudot tas varētu novest pie daudz daudz kopijas jūsu darbinieku skriptu darbojas.

Mans lēmums bija iet ar cron, kas sākas shell skriptu ik pēc 10 minutes. Mans shell skriptu veic šādus uzdevumus:

  1. Saņemiet procesu sarakstu un grep šis "php". Ja nav atrasts, tad turpināt.
  2. Zvanu jūsu darba kodu, manā gadījumā tas būtu kaut PHP pamatā
  3. Darba ņēmējs skriptu pabeidz palaist
  4. Gatavs doties atkal uz nākamo atbilstošo uzaicinājumu

Mana bash skriptu izskatās kaut kā šādi:

  #! / Bin / sh
 ja ps ax | grep-v grep | grep php> / dev / null
 Pēc tam
     echo "Darba pašreiz apstrāde, izbraukšana"
 vēl
     echo "Darba nedarbojas, sākas tagad"
     php yourJobProcessingScript.php
 fi 

Piezīme: echo's ir gandrīz pilnīgi bezjēdzīgi, bet var palīdzēt nākamajai personai, kas nāk kopā, lai mēģinātu un rediģēt tos.

Tas noslēdz izveidota darba ņēmēja virtuālās mašīnas, ātri, vienkārši un viegli kopēt uz katru jauno aparatūras, kas ir saņemts. "Gudrība" no tīkla sistēma tik tiešām nav redzamas OS, tā darīt ar kodu izveidotas, lai apstrādātu darba vietas, darba konfigurāciju, un pārliecinoties, ka darba laiku, ja nepieciešams (ti, kad uzaicinātājs ir dīkstāvē ).

Iestatīšana Windows inicializēšanai darbinieku

Pirmais uzdevums ir izstrādāt komandu jābrauc virtuālā mašīna no Windows komandrindas. Ja esat instalējis VirtualBox uz noklusējuma atrašanās vietā un esat nosauca savu darbinieku GridMachine tad komanda nepieciešams, lai slodze jūsu darba ņēmējs ir:

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

Tomēr, lai palaistu skriptu "bez galvām" Valsts mums jāizmanto:

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

Šī sāksies virtuālā mašīna bez GUI un ļauj tai saglabāt valsts graciozi. Otrais arguments izslēdzas LAP tāpēc tā nav pretrunā ar Windows LAP, vai dot jums ziņu par klausīšanās uz 3389 portu. Virtuālā mašīna nosaukums ir reģistrjutīga!

Tālāk, mums nāksies uzstādīt Windows izveidota, lai uzsāktu mūsu darbinieks VM pēc mašīnas ir dīkstāvē. Lai to izdarītu (par Windows XP) jums jāiet Start -> All Programs -> Accessories -> System Tools -> Plānotais Uzdevumi kā norādīts zemāk:

klasificētās uzdevumus

Tālāk noklikšķiniet uz "Pievienot paredzēts uzdevums", kam seko pārlūkot pievienot pasūtījuma programmu. Dodieties uz savu VBoxManage skriptu un noklikšķiniet uz Labi. Plānojiet savu uzdevumu attiecībā uz kādu no iespējām (mēs šo situāciju mainītu minūtē) un turpināt. Pēc izlaižot nākamo ekrānu logi lūgs jums, kas jūs vēlaties palaist šo uzdevumu, es gribētu ieteikt vai nu "administrators" vai izveidojot jaunu priviliģētais lietotājs. Atcerieties, mēs nevēlamies iejaukties standarta darbiniekiem kontu mašīnu jebkurā vietā. Noklikšķiniet uz Nākamais un pārbauda parāda labākas iespējas šo uzdevumu.

Uz beigām palaist textbox pievienot mūsu "startvm GridMachine" string un nodrošinātu, ka darbojas tikai tad, kad pieteicies ir palicis unticked. Apmeklējiet grafiku uzdevumu nākamo un mainīt grafiku nolaižamo opciju ", kad tukšgaitas", izvēlieties laiku vēlaties aparātu dīkstāves pirms pāriet uz nākamo cilni.

Visbeidzot untick risinājums, kas noteikts apturēt uzdevums, ja tā ir darboties X laiku, bet atzīmējiet izvēles, lai apturētu šo uzdevumu, ja mašīna vairs nav dīkstāvē.

grafiks

Tas ir tas, tad par logu uzņēmējas setup!

Kopsavilkums

Šajā daļā mēs esam izveidojuši virtuālo mašīnu, kas darbojas kā darba ņēmējs, kā arī veidu, kādā mēs saucam un izpildīt mūsu darbs apstrādes skriptus (par sevi PHP skriptu). No šejienes mēs skatāmies, kā izveidot savu kopiju Windows uzsākt virtuālās mašīnas, kas galvām režīmā, kad dators ir dīkstāvē, un saglabāt savu stāvokli, kad lietotājs atsāk izmantošanu mašīna. Cerams, ka šajā brīdī jūs redzēt, cik vienkārši ir izveidot šādas sistēmas, un ir nieze, lai saņemtu kādu eksperimentu iet sevi!

Nākamreiz

In 4 daļā mēs meklē, izmantojot līdzekļus, lai nodrošinātu, ka jūs strādājat jaunāko versiju kodu un datu avotiem, lai iegūtie rezultāti vienmēr būtu atjaunināta ar jaunāko biznesa informāciju un loģiku.

Biroja Grid Computing, izmantojot virtuālo vidi - 1.daļa

Ar Steven Lloyd Watkin , Piektdiena Dec 4, 2009 11:23

Ievads

Es strādāju uzņēmumā, kur mēs palaist daudzas partijas darba apstrāde miljoniem pieraksti par datiem, katru dienu, un es esmu domājis nesen par visām mašīnām, sit pa katru dienu neko nedarot vairākas stundas. Vai tas nebūtu labi, ja mēs varētu izmantot šos mehānismus, lai pastiprinātu datu apstrādes jaudu no mūsu sistēmu? Šo kopu rakstu es esmu gatavojas apskatīt iespējamos ieguvumus nodarbina biroja tīklu , izmantojot virtualised vidē.

PHP attīstītājs es esmu gatavojas izmantot rīkus, ka es izmantoju katru dienu, proti, Linux, MySQL , PHP, VirtualBox un gāšanu (SVN). Tomēr es ceru, ka šī rokasgrāmata būs jāpielāgojas citas valodas un tehnoloģijām tikpat labi.

I šķīdums nodrošina būs ļoti brīvi balstīta uz pārstrādes veidu mēs jāpanāk tomēr tas var nebūt taisnība, izmantojot visu rakstu, kā es jums mainīt lietas pēc vienkāršības, vai ražot vairāk interesantu izmantošanas iespējām.

Šie virtualised vides darbosies uz Windows mašīnām, jo ​​tas ir tas, biroju vairākuma palaist. Apstrādi, kas biroja tehnikai to nedrīkst būt pretrunā ar darbiniekiem, kas izmanto šo mašīnu, ja nav nepieciešama apkope pēc mašīnas, un tām jābūt viegli atveramām, lai jaunas iekārtas, jo tās kļūst pieejamas. Arī jaunas virtuālās mašīnas nav nepieciešama papildu konfigurācijas, jo tas ievērojami samazina mērogojamību un vieglumu, ar kādu tīkla sistēmu var paplašināt.

Kāpēc Ieviest Office Computing Grid?

Pirmkārt jums var domāt, kāpēc ne tikai izmantot mākonis skaitļošanas resursu, piemēram, Amazon's EC2 platforma ? Nu iemesli varētu būt vairāki, piemēram:

  • Jums nav uztic konkrētus datus mākonis skaitļošanas vidē
  • Jūs nevarat ievietot noteiktus datus par mākonis skaitļošanas vidi juridisku iemeslu dēļ (piemēram, datu atstāj valsti), iespējams, juridisku iemeslu dēļ, piemēram, NHS ierakstus.
  • Jūs vēlaties, lai jūsu pārstrādes uzņēmumu tuvumā un ir pilnīga kontrole pār aparatūras pārāk
  • Jums nav projekta līdzekļiem, lai palaistu mākonis gadījumu
  • Jūsu birojā nav savienojuma ar internetu, un tādēļ tās nevar izmantot mākonis resurss
  • Jums nepatīk lietus, mākoņi liecina lietus, tāpēc jūs paturiet tālu

Es esmu pārliecināts, ka sarakstu varētu turpināt, bet es domāju, ka ir pietiekami, lai tagad.

Priekšrocības Office Computing Grid

Nu, ļauj veikt dažas matemātikas (un patiess fizikas stilā ļauj veikt dažas radikālas pieņēmumi). Iedomājieties, jums ir liels gaļīgs apstrādes serveris 100 darba vietas dienā. Ofisā jums ir 50 mašīnas, kas ir idle 16 stundas dienā, katru no šīm iekārtām ir 10%, kā spēcīgs kā jūsu gaļīgs apstrādes atdalīt. (Visi rezultāti šeit ir noapaļoti nenovērtēt veiktspējas pieaugumu).

Tātad, 1 mašīna * 10% jaudas * 03/02 laiks = 0,067, ti, 1 galda apstrādi dīkstāves laikā varētu apstrādāt 6 pilnas darba dienā.

Ja jūs tagad mērogā, tās pat ir nepieciešams 15 idle datori apstrādāt tik daudz darbu skaitu dienā, kā savu galveno apstrāde serveris.

Tātad mūsu izlikties birojā 50 mašīnām mēs varam palielināt mūsu pārstrādes jaudu no 1 servera līdz 4 pilnīgu pārstrādi serveri, vai arī mēs varētu būt apstrādes 400 darbavietas uz vienu dienu, nevis 100.

Paziņojumu, ne ieguldījumus jaunās aparatūras jūsu uzņēmumā ir tikko palielinājis partijas apstrādes jaudu 4 reizes! Potenciāli jūs gatavojas palielināt savu enerģijas patēriņa, bet no vairuma biroja vidē es esmu bijis mašīnas, kopumā ir atstāta uz nakti anyway, lai jūs varētu redzēt to kā zaļo iniciatīvas.

Citas priekšrocības arī nozīmētu, ka ieguldījumi jaunās (vai atjaunošana) apstrāde serveriem, var atlikt, ja Jūsu biroja tehnikai ir pietiekamas un ka, kā jūs uzlabot varu savu biroja tehniku ​​Jūsu birojā energosistēma kļūtu spēcīgāki automātiski.

Tehnoloģijas

Kas jums nepieciešams? (Vai precīzāk, ko es izmantošana):

  • Tukšgaitas biroja iekārtas (manā gadījumā rezerves veco Windows XP klēpjdators)
  • VirtualBox (vai citu virtualizācijas klienta programmatūra)
  • Virtuālā mašīna ar PHP, MySQL running darbojas samazināt OS, es esmu aicinot šo manu Limp serveriem:)
  • Darbavietas palaist
  • Darba serveris (var būt cits virtuālo mašīnu kaut kur)

Tipiski Darbs

Darba vietu, ka šī sistēma ir paredzēta, lai palaistu veidiem ir šāds:

  • Sistēmas saņem datu sarakstu, uz kuriem mums ir saskaņot un atpakaļ rezultātus
  • Saskaņošana iekļauj pārbaudes / meklē vairākas (diezgan statiska) datu avotiem
  • Rezultāti no datu avotiem var būt nepieciešama papildu izvērtēšana, apvienošana, pārbaudīt papildu datu avotus, atbildot uz rezultātu
  • Dati tiek atgriezta ar atbilstošiem ierakstiem, pilnībā apstiprināti un pārstrādes
  • Katrs darbs ieraksts ir atkarīga no pārējo

Vārdu sakot, mēs esam meklē darbojas darbavietas, kas prasa maisījums datubāzi lookups, un kādu numuru crunching, diezgan tipisks scenārijs uzņēmējdarbības vidē.

Grid risinājumi ir ne tikai izdevīga pārstrādei darbu šāda veida. Būtībā jebkurš process, ko var sadalīt neatkarīgas vienības var veikt paralēli. Skatiet šo wikipedia piemērus un vairāk informācijas: Režģis Computing , bet piemēri pāris slavenu ir Seti @ Home un BIONC . Ir pamatnoteikumi darbojas skaitļošanas tīkli un tās ir labi vērts izskata.

Ko mēs sasniegt?

Līdz šo pantu es ceru parādīt, ka ieviešanai biroju tīklu nav ļoti dārgs vai laikietilpīga. Es esmu gatavojas apspriest:

  • Ar ko izveido darba kontroles sistēmas, darba konfigurācija
  • Izveidot atbilstīgu apstrādes virtuālā mašīna
  • To, kā setup sistēmas Windows mašīnas
  • Nodrošināt jūs izmantojat jaunāko kodu un datu
  • Izvēršanas un salīdzinošās novērtēšanas
  • Raugoties uz priekšu

Es būšu ēka (ok es būvēts, tad rakstīja šo) piemēru piemērošanu, lai pārbaudītu koncepcijas vietējo mašīna, izmantojot Windows XP, un manu "GridMachine" virtuālo mašīnu. Mans darbs vadības serveris būs mans galvenais mašīna, kas iet Fedora 11 .

Tas nekādā veidā paredzēti, lai pierādītu, pilnīgi darba stabila sistēma, tās nozīmēja vairāk demonstrējumu un apspriest parādot, ka šīs lietas var panākt samērā īsā laikā un ar nelielām izmaksām. Lūdzu, jūtieties brīvi, lai nosūtītu man jebkādus komentārus, labojumu, vai uzlabojumi, un es darīšu manas vislabāk, lai saglabātu šo rakstu atjaunināts, lai atbilstu.

Nākamreiz

In 2 daļa es sākšu, aplūkojot darba kontroles sistēmas, un skatīties to, kā darba vietas, jākonfigurē, lai panāktu lielāku pārstrādes apjoma, vienlaikus nodrošinot, ka katra uzdevums ir apstrādāti bez neizdoties.

Biroja Grid Computing, izmantojot virtuālo vidi - 2.daļa

Ar Steven Lloyd Watkin , Piektdiena Dec 4, 2009 11:23

Ievads

Es strādāju uzņēmumā, kur mēs palaist daudzas partijas darba apstrāde miljoniem pieraksti par datiem, katru dienu, un es esmu domājis nesen par visām mašīnām, sit pa katru dienu neko nedarot vairākas stundas. Vai tas nebūtu labi, ja mēs varētu izmantot šos mehānismus, lai pastiprinātu datu apstrādes jaudu no mūsu sistēmu? Šo kopu rakstu es esmu gatavojas apskatīt iespējamos ieguvumus nodarbina biroja tīklu , izmantojot virtualised vidē.

In 1 daļa I sniedza pārskatu sistēmas un tehnoloģijas man būs, izmantojot, kā arī apsprieda dažus potenciālos iemeslu, kāpēc jūs vēlaties, lai izveidotu biroju tīklu.

Darba kontroles

Ja jūs gatavojas darboties darbu, tad jūs dodas uz nepieciešamību kaut kādā veidā, ar tiem tikt galā. Jūsu darbs kontroles sistēma (par savu darbu serverī) ir ļoti labi pārdomāta, pirms vēl mēģināt palaist biroja tīklam. Tātad, pirmkārt, kādi ir par darbu kontroles sistēmas uzdevumi:

  • Rokas no darba pēc pieprasījuma darbiniekiem
  • Pastāsti darbinieki, kāda veida darbavietas palaist
  • Track darba
  • Nodrošinātu, ka darba vietas ir darbojas tikai vienu reizi
  • Sniegt darbu datu darbiniekiem, vai vismaz pateikt viņiem, kur to iegūt

Sistēma arī jābūt paplašināms, risinājums, kas strādā tagad vienā gadījumā var tikt pagarināts, lai palaistu vairāku veidu darbavietu kā biznesa redz vērts režģa risinājumu. Piemēram, darba vietu var iegūt prioritātes, vairāk nekā viena darba veida var būt (ti, vairāku kodu bāzes), iespējams, jums var pat palaist vairākus atšķirīgus darba ņēmēju mašīnām, kas ir optimizēti katra veida darbu (lai gan tas virzīties prom no "sugas ņēmējs "ideja). Vienmēr cenšas domāt par nākotni, izstrādājot sistēmu, īstermiņa perspektīvu, var izraisīt ilgtermiņa vilšanās un palielināta attīstības laiks.

Darba Server

Mēs būs nepieciešama kaut kontrolēt mūsu darbu no, tas būtu vienīgais, jūsu tīkla, kas ir noteikta resursu vietrādis, tā, ka IP adrese, resursdatora nosaukumu, URL (izmantojot iekšējo DNS), uc Tas ir tāpēc, ka darbiniekiem ir jāzina, kur meklēt darbu, darbiniekiem ir nepieciešams atrast darbu vadības sistēma (nav darba kontroles sistēmu atrast darba ņēmējiem).

Darba servera pati nav īsti sarežģīts uzdevums (jo sistēmas pamata tik un tā), tai ir nepieciešama, lai saglabātu vakanču sarakstu, roku, darba vietas, saņemt rezultātus, un pēc tam uzglabāt vēlākam laikam atgūt. Kā šīs daļas (piemēram, "rokas no darbavietām") ir definēti var būt ļoti vienkāršas. Vēlāk mēs varam attiecināt sistēmu, lai iekļautu administrācijas saskarni, lai pievienotu, rediģētu, dzēstu, apturēt darba vietas, bet tas pārsniedz šo uzdevumu ir.

Nav nekādu iemeslu tam, ka jūsu darbs serveris nevar virtuālā mašīna darbojas savā galveno apstrādes serveri ja tas nav aizplūšanu pārāk daudz resursu no tā. Darbs serveris Tomēr tas ir nepieciešams augstas pieejamības, ja tā iet uz leju piektdienas vakarā jūs gatavojas zaudēt visu nedēļas nogali apstrādes, iespējams, maksā jums pāris nedēļas vērts apstrādes laiks (salīdzinājumā ar jūsu galveno apstrādes serveri vien) . Jūs varat apsvērt liekot jūsu darbu serverī slodze ir līdzsvarota vides augstu pieejamību.

Pamata Setup

Pamata setup mūsu darbu serveris veidos, ko es esmu aicinot viens no maniem Limp serveriem (tas ir Li nux, m ySql, P HP). Kodu, kas darbojas the darbiniekiem būs faktiski strādā, kādas darbavietas var darboties, mijiedarbojoties ar ar darba kontroles sistēmas datubāzēm. Vēlāk mēs varētu radīt interneta pakalpojumu un faktiski rokas no darba vietas nevis darba ņēmēji to smago darbu pašiem, bet tagad mēs turpināsim izmantot KISS principu (Keep it simple, stulba!).

Tātad, ļauj izveidot trīs MySQL tabulas, lai risinātu darba vietas. Tās tiks "darba", "jobRecords", un "jobResults".

darba galds Šeit es esmu, izmantojot SQL Buddy ļoti maz alternatīvu phpMyAdmin tikai tāpēc, ka tā ir vieglāk instalēt CentOS (par citiem redzēt: 10 Great alternatīvas phpMyAdmin )

Šī tabula sastāv no 5 vienkārši lauki,

  • id: identificētu darbu
  • nosaukums: Varētu būt klienta atsauksme, vai identifikatori vairākām citām
  • Statuss: Jums ir jāzina, kur šis darbs ir, piemēram,
    • 0: nav sākusies
    • 1: Paņēma
    • 2: Pabeigts
  • started_by: Kas ir sākusi darīt darbu? Tas nav pilnīgi nepieciešams, bet ir jauki, ir. Es gribētu ieteikt uzskaites darbinieki to IP adresi no jūsu tīkla
  • started_at: Kad darbinieks sāk darbu? Ar sekošanas darbavietas, kas nav pabeigts X laika mēs zinām, mums ir nepieciešams uzņemt darba atkal un sākt pārstrādei citā darba ņēmēju. Ņēmēji var pārtraukt apstrādes / go offline kāda vairāku iemeslu dēļ, enerģijas padevei, crash, tīkla zudumu, utt

Tas ir viegli, kā šī tabula, varētu attiecināt arī ar dažiem papildu laukus, lai varētu statistikai uzskaiti, finiša laika kolonnas, lai redzētu, cik ilgi darba bija, skaitïtàjs, lai apskatïtu, cik darba ņēmēji paņēma darbu (protams, tas ir tendence 1) darba prioritāte, sarakstu var turpināt vēl un vēl. Sarežģītākos darba scenāriji būtu iespējams noteikt, cik daudz atmiņas darba ņēmējam ir vajadzīga piekļuve (un tādēļ izmanto tikai piemērotus darbiniekus), vai pat kāda veida darba ņēmējam būtu nepieciešams.

Ļauj pievienot dažus piemērs darba vietas:

Piemēram darbu

Nākamajā tabulā atkal ir diezgan vienkārši saprast, tie ir mūsu darba ierakstiem. Tie ir saistīti ar galveno darbu tabulu, kolonnu "jobs_id". Pants veido šīs tabulas lielā mērā atkarīgs no datiem, kas jums ir nepieciešams, lai sniegtu jūsu darbiniekiem, ļauj veikt ļoti vienkāršs piemērs, kur mums ir četras ailes:

  • id: ID ierakstu
  • vārds: Personas vārds
  • adrese: Personas adrese
  • jobs_id: darba ID, šis ieraksts ir saistīts ar

Trešā un pēdējā tabula sastāv no rezultātu tabulas, tas ir līdzīgi veido kā mūsu ierakstu tabulā un pievienojot dažas kolonnas varētu būt daļa no uzskaites tabulu:

  • job_record_id: Saite rezultātu uz darba galda
  • Rezultāts: Rezultāts datu

... Un tas ir viss, kas vajadzīgs darba kontroles! (Lai gan ļoti vienkāršas) Manā gadījumā es esmu norādījis uz citu tabulu, kur mani dati jāapstrādā atradās, bet tas tikpat labi ir lietas, parametri, lai palaistu simulāciju kodu, Jūs nosaukums tam.

Izvēloties darbu

Kā norādīts iepriekš, darbinieku darīs savu darbu vadība mums tagad, lai viss, kas mums patiešām ir atrast darbu, kas nepieciešams pārstrādes un saņemt informāciju. Kā mēs to darām? Nu paņemt mūsu darbs atlases kritērijus un meklēt darba vietas, jo SQL es darīju šādi:

  1. Veikt darbu, kas nav atzīmēti kā pabeigta, bet no mūsu darbinieku un atjaunotu tos (aizvietošanas __ME__ ar identifikatoru, vienkāršākais būtu IP adrese):
      UPDATE `darba` SET `statusu" = 0, ja "statusu" = 1 un "started_by" = __ME__; 
  2. Izmantojot mūsu darbs atlases kritērijus, izvēlieties darbu un pateikt kontroles sistēmu, kas šim darba ņēmējam ir ar to nodarbojas:
      UPDATE `darba` SET `statusu" = 1, "started_by` = __ME__, "started_at` = NOW () WHERE `statusu" = 0 vai
     ("Statuss" = 1 un "started_at"> DATE_SUB (NOW (), Interval X stunda)) ORDER BY `id` ASC; 

    Ar satveršanas darbavietas, kas nav atgriezies rezultātus X laiku mēs nodrošinām, ka visi darbi ir darboties gadījumā, ja darba ņēmēja crashing vai iet AWOL.

  3. Nākamās greifers darba detaļas, kam seko ierakstu sevi:
      SELECT * FROM `darbu` WHERE `started_by` = __ME__ 1 LIMIT;
     SELECT * FROM `job_records` WHERE `id` = __JOBID__; 

Pabeidzot darbu, mēs ievietotu savu rezultātu uzskaiti un preču zīmes darbu kā pabeigtu. Atcerieties, jo darbus var pārtraukt vai atsākt jebkurā brīdī pieļautu zināmu stabilitāti, kas savu skriptu. Tas varētu būt, ka uzdevums aptur pusceļā ar ko atjaunina darba kontroles sistēmas, lai pārbaudot ierakstus darbu skaitu un rezultātu atkal saglabātu darba kontroles sistēma varētu būt gudrs kustēties numuru.

Turklāt, lai gan tas parāda, kā darba vietu var izvēlēties un pārvalda no SQL vaicājumu rāmja jums patiešām vajadzētu būt abstrahējoties Jūsu darba kontroli, lai, ja jūs nolemjat, lai pārslēgtos uz, izmantojot interneta pakalpojumu, failu balstītai sistēmai, XML , vai jebkuru citu vairākas sistēmas, tas neietekmēs kodu virs tā.

Darba konfigurācija

Nākamais aspekts, kas jāapsver, ir darba apjoms un konfigurāciju. Spēlējoties ar darbu konfigurācija mēs varam panākt lielisku līdzsvaru starp ātrumu, procesu replikācijas un uzticamību. Veikt pāris of scenāriji:

  1. Darba vietām 1 dienas katru palaist: Tas nozīmē, ka jūsu darbinieki ir 15 dienas, lai apstrādātu katru darbu (atcerieties 10% no jaudas 2/3rds laika). Šis noteikti nav gudrs konfigurācija, jūsu darbs izmērs ir pārāk liels! Tas būtu jāņem vismaz divreiz laiks, lai iegūtu darbu pārstrādes, ja initial worker aiziet AWOL (laiks uzņemt, ka tā nav atgriezies rezultātā plus pārstrādes laikā). Ir ideāla jūs ir vismaz vienu pilnu darbu vienkārši izgājuši katra ilgu tukšgaitas periodu, tādā veidā jūs saglabāt darbavietas atzīmējot virs un sliktākajā gadījumā darbu veiks divas dienas, lai process būtu pirmā pazūd.
  2. Darba vietām 1 minūti, lai palaistu: Tas nozīmē, ka jūsu darbinieki ņem apmēram 15 minūtes, lai palaistu katram darbam. Kaut gan tas sākotnēji var likties ideāls, jūs iegūstat papildu darba pārstrādei pusdienas laikā, kafijas pauzes, sanāksmes uc šis scenārijs rada spriedzi citās jomās jūsu sistēmas, un ievieš savas problēmas. Piemēram, vispirms jūsu setup / apstrādes laiks attiecība gatavojas iet labi uz leju, tādējādi saglabājot sistēmas efektivitāti. Jūsu tīkls būs pastāvīgi straumēšanas darba informāciju uz dažādiem darba ņēmējiem nomākta darbiniekiem, kuri ir dong viņu ikdienas darbā. Jūs arī gatavojas īstenot lielāku spriedzi jūsu darbu apstrādes servera, jo tas ir uz šķīvja daudz un daudz mazos gabaliņos, kas strādā uz regulāri. Visbeidzot, šajā situācijā, ja jūsu darbs serveris iet uz leju jūs gatavojas izveidot milzīgu atpakaļ žurnālu nepabeigto darbu tā lielāks darbavietu un lietvedības turpināšanu blissfully neapzinās, ka darbs serveris tika grūtības.

Patiesībā nebūs neviena ideāla konfigurācija jūsu tīkla setup, daudz kas ir atkarīgs arī pieejamos līdzekļus, darbu veidiem, darba atgriešanas laiku prasības, tīkla jaudu, un tā tālāk. Tomēr dažas vadlīnijas būtu:

  • Izmērs darbu tā, lai katrs darba ņēmējs varētu saņemt, izmantojot vismaz 3-4 darba vietas uz 15 stundām (garāko iespējamo dīkstāves laiku)
  • Spēlē ar darba apjomu tā, lai setup laiks kļūst diezgan nenozīmīga, salīdzinot ar procedūras laiku (ņemot vērā iepriekšējo punktu).
  • Ja darba neaizpilda divvietīgā laiku (varbūt mazāk) jūs sagaida to, lai pabeigtu to pieņemt, ka tā gājusi AWOL un sākt apstrāde ar citu darba ņēmēju. Tas nozīmē, ka Jums var būt jāgaida pat trīs reizes lielāka par parasto ilgumu darbu, lai to pabeigtu (iespējams arī ilgāk, ja pēc darba nav). Jūs varat samazināt šo laiku, bet jābūt uzmanīgiem, lai samazinātu to pārāk daudz, kā jūs varat sākt kopēšanas apstrādes uzdevumus regulāri.
  • Darba vietas, jābūt neatkarīgam no ārpuses prasībām, cik vien iespējams. Darba serveri, piemēram, tikai iespējams sazināties sākumā un beigās katru darbu.
  • Nav piesātinātu tīkla, tas ir divas negatīvas sekas, jūsu dienas personāls atrast, izmantojot tīkla nomākta un problēmas var būt pieredzējuši ar savienojumiem laiku no problēmu, ka tikai pasliktināsies, kā jūs mēroga Jūsu tīklam.
  • Nodrošina darbavietas var palaist uz jūsu darbiniekiem. Ja darba vietas kļuvusi pārāk atmiņietilpīga vai diskā intensīvu darbu sāks Pārtrauc un vienīgā lieta, jūs paziņojums ir samazinājies darbavietu skaits apstrādā bez patiesais iemesls, kāpēc.

Iesniegšana rezultāti Darbs

Iesniedzot rezultātus, darbs ir svarīgi pārbaudīt, rezultāti nav iesniedzis cits darbinieks, it īpaši, ja pašreizējā darba ņēmējs ir neaktivizētas kādu laiku.

Ja rezultāti tiek iesniegti nodrošinātu to, ka rezultātu skaits atbilst ierakstu skaitu, kas darbu.

Kā norādīts iepriekš, un nav iespējams novērtēt par augstu, veidot pieļaujamo kļūdu robežu uz darbu izguves un rezultātu iesniegšanu. Darbinieki var (un, visticamāk, būs) iedziļināties apturēt režīmā ne vairāk neizdevīgā reizes un tas ir iedzīvotājus. Arī vēlreiz abstrahējoties prom savu rezultātu iesniegšana, palīdzēs rūpēties par turpmākajām pārmaiņām savā darba kontroles sistēma daudz vieglāk tikt galā ar.

Kopsavilkums

Šajā section mēs esam izskatījuši, ko darba kontroli serveris jādara un kā to saņemt vienkāršu sistēmu, kas izveidota. Mēs apspriedām kā atgūt darbu no kontroles sistēmu un to, kā vislabāk konfigurēt darba vietu, lai saņemtu lielāko daļu mūsu Jūsu birojā tīkla sistēmu. Lai pabeigtu, punkts vai diviem Iesniedzot rezultātus atpakaļ uz darba kontroli serveris tika iesniegts.

  • Darba kontroli serveris pārvalda darbavietas un nodrošina, ka visi strādā vienības pabeigti
  • , Abstrahējoties savu darbu select / rezultātu iesniegšana, mēs varam mainīt tehnoloģiju kontroles servera bez daudz problēmu
  • Konfigurējiet savu darbu, lai nodrošinātu, ka tie darbojas ātri un efektīvi, liekot pārāk lielu spiedienu uz savu tīkla infrastruktūru, un bez kopēšanas apstrādes uzdevumus regulāri.
  • Pārliecinieties, ka jums veidot defektu pielaidi un kļūda checking savā rutīnu, darbinieki var apturēt un atsākt, un visnepiemērotākā reizes. Neaizmirstiet pārbaudīt, vai rezultāti jau ir iesniedzis cits darbinieks.

Nākamreiz

Jo 3 daļu mēs veidojam mūsu virtuālo apstrādes mašīnas un izveidot mūsu logiem mašīnas kļūt dīkstāvi darbiniekiem.

Biroja Grid Computing, izmantojot virtuālo vidi - 5.daļa

Ar Steven Lloyd Watkin , Piektdiena Dec 4, 2009 11:03

Ievads

Es strādāju uzņēmumā, kur mēs palaist daudzas partijas darba apstrāde miljoniem pieraksti par datiem, katru dienu, un es esmu domājis nesen par visām mašīnām, sit pa katru dienu neko nedarot vairākas stundas. Vai tas nebūtu labi, ja mēs varētu izmantot šos mehānismus, lai pastiprinātu datu apstrādes jaudu no mūsu sistēmu? Šo kopu rakstu es esmu gatavojas apskatīt iespējamos ieguvumus nodarbina biroja tīklu , izmantojot virtualised vidē.

In 4 daļā mēs skatījāmies, izmantojot līdzekļus, lai nodrošinātu, ka mēs darbojas jaunāko versiju kodu un datu avotiem, lai iegūtie rezultāti vienmēr būtu atjaunināta ar jaunāko biznesa informāciju un loģiku.

Pirms nosūtīšanas

Pirms izvietojat savu energosistēmā, ja tur ir viena lieta, jūs darāt, un viena lieta vien tas ir standarta jūsu pašreizējo sistēmu! Nav svarīgi, ko pastāstīt kolēģiem par to, cik daudz papildu darba jūsu sistēma ir gatavojas darīt, ja jums ir numuri, lai atbalstītu šo savu garantiju nav nekas. Tātad,

  • cik daudz ierakstu jūs varat process, kas šobrīd? Per diena? Stundā?
  • Cik ilgi tas parasti nepieciešams, lai apgriezties darbu?
  • Cik daudz jaudas jums ir?

Tur ir arī papildu jautājumus:

  • Ja jūsu apstrādes serveri (vai viens no jūsu pārstrāde serveri) iet uz leju, kā tas ietekmēs jūsu spējām, jūs būsiet kropli?
  • Kādas priekšrocības jūs cerību / gaidīt, lai saņemtu no tīkla sistēmas?
  • Vai jūsu biroja iekārtas, kas spēj darboties darba piedāvājumus?
  • Vai jūsu (vai jūs varat darbu pārvērst) strādāt šī stila darbojas?

Pēdējais lielais jautājums ir veikt savu laiku par jebkuru būtisku izmaiņu, kā šis. Atjauniniet savu apstrādes kodu, strādāt, izmantojot jauno metodiku, standartu vēlreiz. Iespējams izveidot savu pārstrādes serveri palaist virtuālo mašīnu, pēc tam, kad visi jūsu apstrādes serveri būtu tikai vēl viens darbinieks (tikai ļoti spēcīgs vienu relatīvi). Ļauj jauns process, lai atrisinātu.

Izvietošanas

Mans ieteikums būtu pop uz biroju vienu nedēļas nogali veikt visas iekārtas un uzstādīšana. Vai tas tikai pirms divām nedēļām brīvdienu un atvaļinājumu, lai citi slikts vīrs, lai risinātu sekas ... varbūt ne ...

Izvietošanas sistēmu, piemēram, tas ir lēni. Lai gan tas ir samērā vienkārši, lai izveidotu šo sistēmu, ietekmēs visu jūsu biroju infrastruktūrai (arī digitālā vienu). Pirmkārt, izskrējienu ar pāris mašīnām laikā, uzraudzīt tīkla trafiku, kā darba ņēmējs rīko uzstāties uz ikdienas diennaktī. Jums var būt nepieciešams mainīt savu darbu konfigurāciju, atbildot uz saviem atklājumiem.

Kad sistēma ir iekārtojies ar dažiem mašīnas (ļauj teikt, 10% no visām biroja iekārtām, ti, 5) turpināt pārraudzīt tīkla satiksmes un uzņēmēja mašīna performance. Tālāk standarta atkal, jums tagad būtu pārstrāde 33% vairāk darbavietu nekā savu pirmo kritēriju. Pārbaudiet tas tā ir, vai ka jūs esat vismaz šajā ballpark. Ja tā nav, izmeklēt, kas notiek pirms došanās tālāk. Atkārtojiet šo ciklu, kamēr jūs laimīgi ir visi biroja iekārtas darbotos bez nogalināšanas atsevišķu mašīnu veiktspēju vai slīpēšanas tīkla strupceļā.

, Vienmēr salīdzinošo novērtēšanu, pat pēc visu izvietošana tiek veiktas. Pārbaudīt, cik jaunu kodu atjauninājumi ietekmē ātrumu jūsu sistēmas, pārbaudiet visus strādājošos ziņošanu un apstrādes darbus. Lēni (ļoti lēni) pieauguma savu darbu konfigurāciju, lai iegūtu vislabāko no jūsu darbiniekiem un tīkla.

Stop!

Ko darīt, ja vēlaties pārtraukt savu darba ņēmējus no darba uz kādu laiku? Tie ir visi, kas tur darbojas, reģenerējoša, un mēģina to labāko, lai apstrādātu datus, piemēram, izsalcis kukaiņiem. Atbilde var likties skaidrs, bet tā vērts pievienot tikai gadījumā, ja tās aizmirst. Vienkārši rediģēt apstrādes skriptu ar izeju (0) vai die () vai kādu citu pārskatu, lai nogalinātu savu pārstrādes darbu. Viens no galvenajiem iemesliem, kāpēc mēs vienmēr cenšamies atjaunināt jaunāko apstrādes skriptu pirms palaist!

Demonstrācijas sistēmas

Lai rakstītu šo kopumu īsus rakstus es izveidojis nelielu tīklu, lai pierādītu tehnoloģiju un metodoloģiju. Es izlasīju daudz rakstu, konsultācijas, un jāizmanto dažādi instrumenti, lai setup un pārraudzīt, kas notiek. Nekādā es esmu gājusi, un piesātināti visā birojā ar satiksmi un arī es esmu bijusi piekļuve regulāru personāla locekļiem PC lai redzētu, kā uzņēmējas izpildi skar.

Mana demonstrācijas sistēmas bija ļoti pazemīgs patiešām. Es izmanto manu regulāro desktop izveidota kā darba kontroles serveri. Par šo man bija uzstādītas MySQL serveri uzstāda izveidota kā meistars replikāciju, PHP , A un SVN ir saistītas ar apache (uz piekļuvi, izmantojot darba ņēmēju VM).

Tad es izveidojis CentOS ņēmējs mašīnu uz VirtualBox uz 6 gadus veca Windows XP klēpjdators. Es setup klasificētās uzdevumus, kā noteikts pēc kopēšana VM uz mašīnu un ļaujiet tai iet.

Virtuālā mašīna tika izveidota ar PHP, apvērsumu, un MySQL. Es paņemts filiāli ar nosaukumu "darba ņēmējs" no mana darba kontroli serveru krātuvi un ir pārliecināts, ka tas varētu atjaunināt, izmantojot "svn update". Tālāk es setup MySQL kā vergu, un ir pārbaudīts, ka datus kopēt no MySQL uz darba kontroli serveris uz leju, lai darba ņēmējam VM. Galu galā šo es setup bash skriptu un Cron darbu.

Mana apstrādes skriptu pamatā gāja pa šo (ļoti vienkāršs stuff) līnijas:

  • Lasīt nosaukuma lauku
  • Ieskaita vairākiem līdzīgiem nosaukumiem tabulu no datu avota, kas notika VM
  • Ieskaita vairākus nosaukumus, kā iepriekš, bet sadalīt vārdu ar atstarpēm (piemēram, vārds, vidus, uzvārds)
  • Atkārtoja šo procesu 1000 reizes

Katru darba bija aptuveni 20 minūtes, lai palaistu. Kādā brīdī es atvēru vairāki eksemplāri darba ņēmēja VM par logiem klēpjdatoru un noskatījās darba jāpārbauda pie katra darba ņēmēja IP adreses. Šajā brīdī es arī apstiprināja, ka replikāciju automātiski restartēta.

Atstājot klēpjdatoru dīkstāves rezultātā darba ņēmējs sāk apstrādāt darbu no darba kontroles serveri. Ja atsākšanas klēpjdators izmantošana bija kavēšanās par aptuveni 30-60 sekundes, tas ir pietiekami daudz laika un darbiniekiem būtu jābūt informētiem, ka viņu mašīna var apstāties uz īsu brīdi, kad atgriežoties mašīna. Jaunāka iekārtas nedrīkst būt pauzi šo ilgi. Par pabalsta summu, apstrādi, ko veic šīs iekārtas laikā, dīkstāves periodi nebūtu vairāk nekā atsver personāla locekļiem, kas jāgaida īsā laika posmā (ti 1 minūtes) uz atved mašīnas rīta (es bieži jāgaida ilgāk, ka šis Windows Defender update notiek), ja tās ir informēta par šo (derīgā laikā, lai greifers rīta kafiju!).

Kopumā es uzskatu, pārliecināts, ka man ir pierādīts, tehnoloģijas, ko varētu izmantot, lai izveidotu šādu sistēmu. Man ir pierādījusi, ka šāda sistēma darbs (ļoti) maza apjoma un ar vēl daži eksperimentus varētu pastiprināti izmantot resursus biroja iekārtas. Ja man nav nokļūt līdz vietai, kā to izdarīt es būtu ļoti interesanti uzzināt / redzēt, kad kāds cits dara.

Secinājumi / novērtējums

Nākamās skaidrs solis būtu faktiski iegūtu reālās pasaules piemērs un sākt izvietot sistēmu, piemēram, tas, kas biroja vidē un redzēt, kas notiek. Jautā biznesa apņemties šo bez taka degošs uzņēmums, lai pierādītu tehnoloģiju un efektivitāti, var būt nedaudz grūti. Grid / Distributed skaitļošanas ir ļoti populārs, ir daži apļi, un ir dažas lielas programmas (BIONC, SETI @ Home, Folding @ home, utt.) Man nav, tomēr, atrast mazākā mērogā un vienkārša sistēma, kā tas manā meklēšanu, kas varētu būt jāizrullē laikā biroja vidē.

I izveidojis būtībā free sistēma, izmantojot galvenokārt atvērtā koda programmatūru un instrumentus, kas pieejami gandrīz jebkurā birojā. Tehnoloģijas būtībā bija pierādīta un parādīt, lai veiktu un strādāt, kā paredzēts. Cerams, ka man ir parādīt, ka ar ne daudz darba un ar ļoti vienkāršu setup varat izvietot biroju tīkla skaitļošanas sistēmu, kas ir spēcīgs, lēti, A un mērogojamu visi tajā pašā laikā.

Ja sistēma ir izveidota un darbojas gandrīz nav gala summai pielāgošanu un uzlabojumus var veikt. Piemēram statistika / etalona noteikšana var viegli pievienot, kurā vērts šādas sistēmas katru dienu. Jaunās iekārtas var pievienot ātri un viegli, kā un kad viņi ierodas ar šībrīža aparatūras nostiprināt savu pārstrādes jaudu.

Ceru, ka jums patika lasījumā šo rakstu sēriju un tā devusi jums vielu pārdomām par braukšanas biroja tīklu sistēmu. Risinājums šeit ne vienmēr strādā visās situācijās, bet jāspēj pielāgot, lai jūs varētu saņemt savu datu apstrādi veic, izmantojot savu risinājumu.

Lūdzu, jūtieties brīvi, lai nosūtītu man jebkādus komentārus, labojumu, vai uzlabojumi, un es darīšu manas vislabāk, lai saglabātu šo rakstu atjaunināts, lai atbilstu.

[Paziņojums] bērna pid XXXX izejas signāla segmentācijas kļūdas (11)

Ar Steven Lloyd Watkin , svētdiena 11 oktobris, 2009 06:09

Ja esat nesen atjaunināja PHP vai Apache jūs varbūt nāk uz augšu pret jautājumu par jūsu tīmekļa servera atpakaļ tukšas lapas, un throwing kļūdu ziņojumus uz jūsu žurnāliem, kam nav ideju, kāpēc šeit ir viena iespēja, kā to labot ...

Man bija šī problēma pāris reizes pēdējā laikā pēc modernizācijas Apache vai PHP uz virtuālo mašīnu. Pirmo reizi es pamanīju kļūdas es vienkārši atgriezās pie savas VM backup, bet otro reizi es sapratu, ka man ir izpētīt šo jautājumu.

Pirmo reizi es pamanīju jautājumu daži no maniem web lapas tika pasniegtas kā tukšas failus, bet citi strādāja pilnīgi labi. Pēc dažiem izmeklēšanas Es ievēroju, ka apache tika izrakstīšanas uz / var / log / http / error_log ar šādu ziņu repeatidly:

[Paziņojums] bērna pid XXXX izejas signāla segmentācijas kļūdas (11)

Tur nav izs braukt ar on-line, un lielākā daļa lapu par to taku pretī neko. To sakot, es sašaurināts jautājums PHP crashing, mēģinot unneeded dinamisku bibliotēkām.

Apskatot manu php.ini (/ etc / php.ini) Es komentēja visas dinamiskās bibliotēkas ielādes plānošanu komentējot tos atpakaļ pēc vajadzības. Divas man bija jāņem, kur pdo.so un mysql . tik.

Kad tie bija izņemti visi manām tīmekļa lapām tika izsniegts naudas, tāpat kā pirms PHP / Apache atjauninājumu.

Bezvadu par Acer 5002 WLMi uz Linux (Fedora 11)

Ar Steven Lloyd Watkin , Sestdiena 11 jūlijs 2009 09:48

Kā es esmu pavadīts vēl dažas stundas šodien bez interneta piekļuves es domāju, I'd labāk iegūt šo daļēji norakstīto tā, ka nākamreiz es izjaukt manu klēpjdators augšu informācija ir viegli noteikt.

Būtībā, lai iegūtu bezvadu vadītāji, kuri strādā 5002 Acer WLMi jums vajadzēs izmantot B43-fwcutter. Instrukcijas var atrast šeit: Linux Bezvadu B43 .

Viegli, kad informācija atrodas.













Panorama Theme by Themocracy

8 Apmeklētāji tiešsaistē tagad
8 viesi, 0 boti, 0 biedri
Max Apmeklētāji šodien: 10 pie 1:05 UTC
Šajā mēnesī: 26 pie 2011/07/05 12:35 UTC
Šogad: 130 ar 28-03-2011 22:40 UTC
Visu laiku: 130 ar 28-03-2011 10:40 UTC