Posts tagged: replikáció

Office Grid segítségével virtuális környezetben - 4. rész

A , péntek december 4, 2009 11:59

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartások adatok minden nap, és én már gondolok a közelmúltban arról, hogy az összes gép ülnek minden nap semmittevés órákon át. Nem lenne jó, ha tudnánk használni az olyan berendezést, mely növeli a feldolgozási teljesítmény a rendszerünk? Ebben a statútum fogom nézni a potenciális előnyei foglalkoztat egy irodai hálózat segítségével virtualizált környezetben.

A 3. rész hoztuk létre virtuális géphez és beállítani a Windows gépek lesz tétlen munkaidőben dolgozók.

Futás a legfrissebb kódot

Elkerülhetetlen létrehozása után a dolgozók az üzleti logikát változni fog, meg fogja találni a hibákat, gyorsabb hatékonyabb kódot fog tartalmazni, így elhagyja a munkások ültek körül adatfeldolgozást a régi kódot büdös . De vajon hogyan tudjuk, hogy mi mindig a legújabb és legnagyszerűbb változata a feldolgozó szkriptet?

Van néhány nagyon egyszerű egyszerű módon tudnánk ezt csinálni, a trükk azonban az, hogy csökkentse feldolgozási teljesítmény és a hálózati forgalom ennek elérésében. Kezdjük a legegyszerűbb megoldás, és javítása lassan egy pár iteráció.

Az első módszer az lenne, hogy egyszerűen csak csatlakoztatni kell a munkánkat vezérlő szerver (SAMBA-n, FTP-, vagy hasonló), és húzza le a legújabb verzióját a kódot. Nem túl hatékony, de elvégzi a munkát. Lehetővé teszi, hogy valamelyest javítani, mi a helyzet megteremtése rsync script segítségével, és ahelyett, hogy minden egyes alkalommal? Alternatívaként mi a helyzet üzembe legújabb feldolgozása scriptet felforgatás megnézni a kódot, majd kezdetben csak frissítjük kódot minden távon ( svn update )?

A végén sikerült a végén egy bash script (cron hívja meg minden 10 percben), amely úgy néz ki, ilyen egyszerű:

  #! / Bin / sh
 ha ps ax | grep-v grep | grep php > / dev / null
 majd
     echo "Job jelenleg feldolgozás, exit"
 más
     echo "feladat nem fut, indítsa el most"
     cd / path / to / munka / másolás
     svn update
     php yourJobProcessingScript.php
 fi 

Most már biztosak lehetünk abban, hogy minden egyes távon mi biztosan fut a legújabb kódot. Mi biztosítja ezt frissítjük alapkód minden egyes alkalommal, amikor elvégzi a távon, és csökkenti a hálózati forgalmat csak a fájl átvitele különbségek a hálózat.

Az én bemutató telepítés, tettem pontosan a fentiek szerint. Subversion volt telepítve a munkám feldolgozás szerver és egyszerűen kihúzta a legfrissebb kódot, a "munkavállaló" fióktelep a 'svn update ". Azt is hozzátette, egy verzió számát tag az én feldolgozó script, amely visszakerült az adatbázis részeként az eredmények vissza. Így láttam, hogy a kód volt, hogy minden egyes alkalommal frissített Bemásoltam a csomagtartóban a munkavállaló ága, azaz, hogy én biztosan fut a legújabb feldolgozó forgatókönyvet.

A legfrissebb adatok

Ha a munka feldolgozását teszi adatforrások használata, akkor egy bizonyos ponton, ezek fogják frissíteni is. Ha nem hívja fel a források, egy nagyon ritka alapján fogsz elárasztani a hálózati forgalomhoz, amint a dolgozók elindulnak így mindent a holtpontról. Mert én úgy döntöttem, hogy megoldást szeretnék áthelyezni az Adatforrások körül az én virtuális gépeken.

Tartsa te ló van! Mit tegyek, ha adatforrások ÓRIÁSI? Hát ez valóban egy esetben, hogy mennyi adat is van szó? Lehet, hogy költséghatékonyabb telepíteni egy további nagyobb merevlemez mindegyik géphez, mint vásárolni egy további feldolgozás szerver. Ez a kérdés a költségvetési és akár az üzleti dönteni. Ez lehet, hogy az adatforrások olyan nagy, hogy annak csak kivitelezhetetlen tartani, hogy a tárolt adatmennyiség a munkás gépek. Ebben az esetben mit tennél? Jól tudtunk nézni egy helyi hívás adat szerver, de ez okozhat problémákat a hálózat. Ebben az esetben egy rács rendszer, mint ez válhat irreális felvenni irodai környezetben. Az is lehet, hogy meg lehet keresni az alternatív működési stratégiák, például a hívó csak a dolgozók 20:00-06:00 Minden este és / vagy fojtás adatforrás kéréseket.

Továbbhaladva mondjuk mi adatforrások összeget 100GB adat. Hát igen ez egy kicsit adatok mozogni a hálózaton egy frissítést. Hogyan biztosítjuk, hogy mi van a legújabb másolatot az adatok ebben az esetben? Rsync egy lehetőség, de személy szerint azt hiszem, fut a legfrissebb adatok forrása a bérmunka és a szerver beállítva, mint egy mester replikáció (egy szép hosszú bin log) lehet az út:

replikáció Azáltal, minden a dolgozók ki, mint egy rabszolga, hogy a munkát vezérlő szerver frissítéseket az adatforrások szépen leszivárog a munkások nélkül, ugrásszerűen megnőtt a hálózati tevékenység (vagyis ha végre egy hatalmas adatfrissítés és az összes munkavállaló indítja be egyszerre). Ennek előnye, hogy az rsync akkor nem kap egy hosszú szünet előtt minden munkát, mint az adatbázis frissítése, a MySQL démon a munkavállaló folyamatosan frissíti az adatokat, miközben a feldolgozás folytatódik.

Ez hogyan beállítani a bemutató szerver. Beállítása replikáció követtem az útmutató a MySQL honlapján ( replikáció beállítása ) és 20 perc alatt ettem inital munkás lemásolják a feladatot vezérlő szerverek adatbázisba. Minden további munkás a replikációs beállításokat és a folyamat minden egyes alkalommal, amikor működött a VM másolták.

Összegzés

Ebben a részben a cikket kerestünk, milyen egyszerű és fájdalommentes ez tartani a feldolgozási kód naprakész using rsync vagy subverion (SVN), hogy ezt a munkát és csökkenti a hálózati forgalmat egyszerre time. Azt is megvitatták, hogyan tartani az adatforrás információi-to-date, lehetővé téve, hogy lecsapódása minden a munkavállalókat. Így biztosítva azt, hogy a területen lépést tartani az üzleti logika és információs irodánkban rács rendszer. Ott minden bizonnyal számtalan alternatívát e feladatok, de itt két egyszerű példát, hogy megmutassuk, milyen egyszerű a megoldás találni.

Legközelebb

Az utolsó részben a sorozat, találóan elnevezett 5. rész , megbeszéljük telepíteni ezt a rendszert. Majd össze az eddig tanultak és mit sikerült létrehozni.

Office Grid segítségével virtuális környezetben - 5. rész

A , péntek december 4, 2009 11:03

Bevezetés

Dolgozom a vállalatnál, ahol sok fut kötegelt feladatok feldolgozására millió nyilvántartások adatok minden nap, és én már gondolok a közelmúltban arról, hogy az összes gép ülnek minden nap semmittevés órákon át. Nem lenne jó, ha tudnánk használni az olyan berendezést, mely növeli a feldolgozási teljesítmény a rendszerünk? Ebben a statútum fogom nézni a potenciális előnyei foglalkoztat egy irodai hálózat segítségével virtualizált környezetben.

A 4. rész néztük eszközök segítségével annak érdekében, hogy mi a legfrissebb verziót a kód és az adatok forrásai, így kapott eredmény mindig up-to-date a legújabb üzleti információk és a logika.

Pre-Deployment

Telepítése előtt a rács rendszert, ha van még egy dolog, amit teszel, és egy dolog egyedül ez viszonyítási alap a jelenlegi rendszer! Nem számít, mit mondani kollégákkal arról, mennyi plusz munkát a rendszer fog csinálni, ha nincs számok ezt alátámasztanák a garanciák semmit. Szóval,

  • hány rekordot tud feldolgozni jelenleg? Naponta? Óránként?
  • Mennyi ideig tart általában veszi, hogy megforduljon a munkát?
  • Mennyivel több kapacitás van?

Van még további kérdések:

  • Ha a feldolgozó szerver (vagy az egyik feldolgozó szerverek) megy le, hogyan fog ez befolyásolja a képességeit, akkor te is nyomorék?
  • Milyen előnyöket mit remélem / várni, hogy egy grid-rendszer?
  • Az Önök irodagépek képes futtatni a munkahelyek?
  • Van saját (vagy tudsz munkahely alakítható), hogy ebben a stílusban wrok a futás?

Az utolsó nagy lényeg az, hogy az idejét minden jelentősebb változás, mint ez. Frissítse feldolgozási kód dolgozni az új módszertan, benchmark újra. Esetleg létre a feldolgozó szerver fut egy virtuális gép, elvégre a feldolgozási szerver csak egy másik munkás (csak egy nagyon erős egy viszonylag). Hagyjuk az új folyamat, hogy rendezze.

Deployment

A véleményem az lenne, hogy felbukkan az irodába egy hétvégén végre minden a telepítés és beállítás. Ehhez előtt kéthetes nyaralás, és hagyja, hogy más szegény fickót, hogy foglalkozik a következményekkel ... talán nem ...

Deployment egy ilyen rendszer van, hogy lassú. Annak ellenére, hogy viszonylag egyszerű, hogy hozzanak létre ez a rendszer hatással lesz a teljes irodai infrastruktúrát (és a digitális 1). Először is, kigurul egy pár gép egy időben, a hálózat forgalmát figyelik, hogy a munkavállaló házigazdák végre egy napról-napra. Lehet, hogy változtassa meg a munkát konfiguráció válaszul az eredményeket.

Miután a rendszer sikeresen telepedett néhány gép (mondjuk 10%-a irodai gépek, azaz 5) folyamatosan hálózati forgalom figyelése és a fogadó gép performance. Következő benchmark újra, akkor most meg kell feldolgozás 33%-kal több munkahelyet, mint az első kritériumot. Ellenőrizze, ez így van, hogy te vagy legalábbis ebben a stadion. Ha nem, vizsgálja ki, mi történik, mielőtt tovább. Ismételje meg ezt a ciklust, amíg mindannyian boldogan irodagépek futó nélkül gyilkos egyedi gép teljesítményét, illetve a hálózat köszörülés a holtpontról.

Mindenkor tartsa teljesítményértékelés, az összes telepítések után is készülnek. Ellenőrizze, hogy az új kód frissítések befolyásolja a rendszer sebességét, ellenőrizze az összes munkavállaló jelentette be a munkahelyek és a feldolgozás. Lassan (nagyon lassan) megnöveljük a munkád konfiguráció teljes mértékben kihasználja a munkavállalók és a hálózatot.

Állj!

Mi van, ha abba akarja hagyni a munkavállalók futó valamikor? Ezek mind ott fut, regeneráló, és megpróbálja a legjobb, hogy az adatok feldolgozását, mint éhes rovarok. A válasz nyilvánvaló, de úgy tűnik, hogy érdemes hozzátéve, hogy csak abban az esetben figyelmen kívül hagyják. Egyszerűen szerkesztheti a feldolgozó script egy exit (0) or die () vagy más nyilatkozatot, hogy megölje a feldolgozási munkát. Egyik fontos oka annak, igyekszünk frissíteni a legújabb feldolgozás script előtt távon!

Bemutató rendszer

Annak érdekében, hogy megírom ezt több rövid cikket készítettem egy kis rács bemutatni a technológiák és módszerek. Olvastam sok cikkek, oktatóanyagok, és használják a különböző eszközöket beállítani és figyelemmel kísérjék, hogy mi történik. Semmiképpen nem mentem ki, és telítetté egy egész iroda a forgalom és nem tettem volna hozzá egy állandó személyzetének tagjait, hogy milyen PC teljesítményét fogadó érintette.

Az én demonstrációs rendszer valóban nagyon alázatos. Én használtam a desktop jön létre, mint munkát vezérlő szerver. Ezen én már telepítve MySQL szerver telepítve jön létre, mint mester replikáció, PHP , Â keresztül kapcsolódnak egymáshoz és az SVN apache (hozzáférés révén munkás VM).

Aztán létrehoztunk egy CentOS munkás gép VirtualBox egy 6 éves Windows XP laptop. Állítom ütemezett feladatok meghatározott másolás után a VM a gépre, és engedd el.

A virtuális gép jött létre a PHP, felforgatás, és a MySQL. Megnéztem fióktelep nevű "munkavállaló" az állásomból control szerverek adattár és gondoskodott arról, hogy lehet frissíteni a 'svn update ". Következő állítom mySQL, mint egy rabszolga, és meggyőződtek arról, hogy lemásolják az adatokat MySQL a munkát vezérlő szerver le a munkavállaló VM. Mindezek után állítom be a bash script és cron.

Saját feldolgozó script alapvetően ment mentén ennek a (nagyon egyszerű dolgok):

  • Olvassa el a név mezőbe
  • Megszámoltuk a hasonló nevek egy táblázatban az adatforrás tartott a VM
  • Megszámoltuk a nevek azonban a fenti felosztása a név, szóközzel (pl. keresztnév, középső, vezetéknév)
  • Ismételt ez a folyamat 1000-szer

Minden munkát került körülbelül 20 percet futni. Egy ponton kinyitottam több példányban VM munkás a Windows laptop, és figyelte a munkahelyek le kell ellenőrizni az egyes IP-címek a munkavállaló. Ezen a ponton azt is megerősítette, hogy a replikáció automatikusan újraindul.

Indulás a laptop készenléti eredményezte a munkavállaló elkezd dolgozni feladatokat a munkát vezérlő szerver. Amikor a laptop használata folytatása volt a késés körülbelül 30-60 másodpercig, ez elég sok időt és személyzetet kellene tudatosítani, hogy a gép szünet egy rövid ideig, amikor visszatérve a gép. Az újabb gépeken nem lehet szünet a hosszú. Az előny összegének feldolgozást végzik ezek a gépek üresjárati idők során több mint ellensúlyozza munkatársak kelljen várni egy rövid ideig (mondjuk 1 perc) az érkező gépeiken A reggeli (Én gyakran várni, hogy ez a Windows Defender frissítse a sor), amennyiben ők állították ennek tudatában (hasznos idő, hogy megragad egy reggeli kávé!).

Összességében úgy érzem, abban, hogy bebizonyították, a technológiák, amelyek lehet használni egy ilyen rendszert. Megmutattam, hogy egy ilyen rendszer működik egy (nagyon) kis méretű és némi kísérletezés is többet kell szorozni kihasználni a források egy irodai gépei. Ha én nem értem, hogy a pont ezt én is nagyon érdekelt, hogy tudja / látni, ha valaki mást csinál.

Következtetések / Értékelés

A következő lépés nyilvánvalóan az lenne, hogy tényleg kap egy valós világból vett példákkal, és elkezdi telepíteni a rendszert, mint a munkahelyi környezetben, és meglátjuk, mi történik. Kérdezi, hogy a vállalkozás kötelezze el magát e nélkül nyomvonal lángoló társaság bizonyítani a technológia és a hatékonyság lehet egy kicsit nehéz. Rács / elosztott számítási nagyon népszerű, bizonyos körökben, és néhány nagyobb alkalmazás (BIONC, SETI @ Home, Folding @ Home, stb.) Én azonban nem talál egy kisebb méretű és egyszerű rendszert, mint ez az én keresések lehet gördült ki egy olyan irodai környezetben.

Csináltam egy alapvetően ingyenes rendszer segítségével többnyire nyílt forráskódú szoftverek és eszközök állnak rendelkezésre szinte minden irodában. A technológiákat alapvetően igazolták és megmutassa végre, és a várt módon működnek. Remélem, hogy nem mutatják, hogy a sok munka és egy nagyon egyszerű beállítás telepíthet egy irodai grid computing rendszer, amely hatékony, olcsó, és skálázható minden ugyanabban az időben.

Miután a rendszer elindult szinte nincs vége az összeget a testreszabhatóság és a fejlesztések megteheti. Például a statisztikák / benchmarking könnyen ki bemutató érdemes egy ilyen rendszer minden nap. Új gépet lehet hozzá könnyen és gyorsan, ahogy és amikor megérkeznek a frissítések a már meglévő hardver rávilágítson a feldolgozási teljesítményt.

Remélem élvezték ezt olvasod cikksorozat és adott Önnek elgondolkodtató futó irodát rács rendszer. Az itt bemutatott megoldás nem feltétlenül működnek minden helyzetben, de alkalmazkodni kell, hogy lehetővé teszi, hogy az adatok feldolgozása segítségével történik egy saját megoldást.

Kérjük, bátran küldje el nekem minden megjegyzést, korrekciót, vagy a fejlesztések és én mindent megteszek, hogy tartsa ezt a cikket frissíteni kell felelniük.













Panoráma Theme Themocracy

8 online látogató jelenleg
5 vendég, 3 botoktól, 0 tag
Max. látogatók ma: 19-én 05:00 UTC
Ebben a hónapban: 26 at 2012/04/04 10:27 UTC
Ebben az évben: 69 at 09:56 am UTC 27-02-2012
Minden idő: 130 28-03-2011 at 10:40 UTC