Катэгорыя: Linux

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 4

Па Стывен Лойд Уоткин , у пятніцу 4 снежні 2009 года 11:59 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем працу пакетнай апрацоўкі мільёнаў запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэты набор артыкулаў я буду глядзець на патэнцыйныя выгады ад выкарыстання офіса сеткі выкарыстаннем виртуализованных асяроддзях.

У частцы 3 мы стварылі віртуальную машыну апрацоўкі і наладзіць Windows машыны, каб стаць часу прастою работнікаў.

Запуск апошняй версіі кода

Непазбежна пасля стварэння працоўных бізнэс-логікі будзе мяняцца, памылкі будуць знойдзеныя, хутчэй больш эфектыўны код будзе вырабляцца ў выніку чаго вашыя працоўныя сядзелі апрацоўкі дадзеных з выкарыстаннем старога смярдзючага кода . Як жа мы гарантуем, што мы заўсёды выкарыстоўваем найноўшая і самая лепшая версія нашага апрацоўкі скрыптоў?

Ёсць некалькі вельмі простых спосабаў лёгка мы маглі б зрабіць гэта, трук, аднак, заключаецца ў скарачэнні вылічальнай магутнасці і сеткавы трафік у дасягненні гэтай мэты. Давайце пачнем з самага простага рашэнні і палепшыць яе павольна пара ітэрацый.

Першы метад будзе проста звязацца з нашым серверам кіравання заданнямі (праз Samba, FTP, ці падобны) і пацягніце ўніз апошняй версіі кода. Не вельмі эфектыўны, але ён будзе рабіць гэтую працу. Дазваляе палепшыць, што некалькі, як аб стварэнні Rsync скрыпт і выкарыстанне, што кожны раз замест гэтага? Акрамя тое, што аб уводзе нашых апошніх апрацоўкі сцэнарыя ў падрыўной праверыць код першапачаткова, а затым проста абнаўленне нашага кода пры кожным запуску ( SVN абнаўленне )?

У канцы мы маглі бы ў канчатковым выніку з Баш скрыпт (названы хрон кожныя 10 хвілін), які выглядае так проста, як гэта:

  #! / BIN / Ш.
 PS калі сякера | Grep-V grep | grep PHP > / Dev / нуль
 то
     Рэха "Праца ў цяперашні час апрацоўкі, з выхадам"
 яшчэ
     Рэха "Праца не працуе, пачніце прама зараз"
     CD / шлях / да / рабочай / копіі
     SVN абнаўленне
     PHP yourJobProcessingScript.php
 Fi 

Цяпер мы можам быць упэўненыя, што з кожнага запуску мы вызначана ўстаноўлена апошняя кода. Мы забеспячэнне гэтага шляхам абнаўлення нашай базы кода кожны раз, калі мы выконваем запуску і зніжэння сеткавага трафіка толькі перадача файлаў адрозненні паміж нашай сеткі.

У маёй дэманстрацыі ўстаноўкі, я зрабіў менавіта так, як вышэй. Subversion была ўсталяваная на маім сэрвэры апрацоўкі праца, і я проста выцягнуў апошні код з філіяла "працоўная", выкарыстоўваючы "SVN Update". Я таксама дадаў тэгі нумар версіі на мой апрацоўкі скрыпту, які быў вернуты ў базе дадзеных як частка вяртаць вынікі. Такім чынам, я бачыў, што мой код абнаўляецца кожны раз, калі я скапіяваў маё тулава у т. працаўнік філіяла, што я пэўна ўстаноўлена апошняя апрацоўка сцэнарыя.

Выкарыстоўваючы апошнія дадзеныя

Калі ваша праца апрацоўкі робіць выкарыстанне дадзеных крыніц, то ў нейкі момант гэтыя будуць абноўленыя. Калі вы называеце крыніц дадзеных на аснове вельмі рэдка вы збіраецеся паводкі сеткі з трафікам, як толькі вашыя работнікі пачнуць выконвацца чаго ўсё ў тупік. Для майго рашэння я вырашыў, што я б хацеў перавесці мае крыніцы дадзеных вакол з маёй віртуальных машын.

Трымайце вы коні там! Што рабіць, калі мае крыніцы дадзеных велізарныя? Ну гэта сапраўды прыклад таго, як шмат дадзеных ідзе гаворка? Гэта можа быць больш эканамічна эфектыўным, каб усталяваць дадатковы жорсткі дыск большага ў кожнай машыне, чым на куплю дадатковага сервера апрацоўкі. Гэта пытанне аб бюджэце, і да бізнэсу, каб вырашыць. Гэта можа быць, што вашыя крыніцы дадзеных настолькі вялікі, што яго проста немагчымым трымаць, што аб'ём дадзеных у вашай машыны работніка. У такім выпадку, што б вы зрабілі? Ну, мы маглі глядзець на выкліку лакальны сервер дадзеных, але гэта можа выклікаць праблемы з сеткай. У гэтым выпадку сетка сістэмы, так як гэта можа стаць нерэальным ўключыць у вашым офісе. Ён таксама можа быць тое, што вы можаце паглядзець у альтэрнатыўных стратэгій працуе, напрыклад, толькі патэлефанаваўшы работнікаў паміж 8 вечара і 6 раніцы кожную ноч, і / або рэгулявання крыніцы запытвае дадзеныя.

Пераходзячы дазваляе сказаць, што нашы крыніцы дадзеных складае 100 ГБ дадзеных. Ну ды гэта зусім няшмат даных для перамяшчэння па сетцы на абнаўленне. Як бы мы гарантуем, што мы апошнюю копію дадзеных у гэтым выпадку? Rsync магчымасць, але асабіста я думаю, запусціўшы ваш апошні крыніца даных на сэрвэры сістэмы апрацоўкі замовы і настройкі гэтай аперацыі як майстар рэплікацыі (з прыемным доўгім часопіса бен) можа быць шлях:

рэплікацыі Пры ўсталёўцы кожнага з вашых работнікаў у якасці рабоў для працы абнаўлення сервернага элемента кіравання да крыніц дадзеных будзе працякаць ўніз прыгожа, каб вашы працаўнікі без вялізнага павелічэння сеткавай актыўнасці (гэта значыць, калі вы выконваеце велізарную абнаўлення дадзеных, і ўсе вашы працоўныя удар у адразу). Гэта мае перавагі ў параўнанні з Rsync ў тым, што вы не атрымаеце доўгая паўза перад кожнай рабоце; як абнаўлення базы дадзеных, MySQL дэмана на вашым працоўным будзе пастаянна абнаўляць свае дадзеныя, а апрацоўка працягваецца.

Гэта, як мне наладзіць сервер дэманстрацыі. Каб наладзіць рэплікацыю я рушыў услед кіраўніцтва па MySQL сайта ( Настройка рэплікацыі ) і на працягу 20 хвілін у мяне была Пачатковае работніка тыражаванне кіравання працай сервераў дадзеных. За кожны дадатковы працоўны налады рэплікацыі і працэс працаваў кожны раз, калі В. М. быў скапіяваны.

Рэзюмэ

У гэтым раздзеле артыкула мы разгледзелі, як лёгка і бязбольна гэта захаваць ваш код апрацоўкі да цяперашняга часу using Rsync або subverion (SVN), каб зрабіць працу і зменшыць сеткавай трафік ў той жа time. Мы таксама абмеркавалі, як захаваць вашыя дадзеныя ў крыніцы інфармацыі да сучасных, дазваляючы яго прасочвання для кожнага з вашых работнікаў. Такім чынам, мы вобласці забеспячэння таго, каб мы не адставаць ад бізнес-логікі і інфармацыі ў нашай сістэме сеткі офіса. Там, відавочна, будзе незлічоныя альтэрнатывы выканання гэтых задач, але тут былі два простых прыкладу, каб паказаць, як лёгка рашэнне прыбыць.

Наступны раз

У заключнай частцы гэтай серыі, трапна назваў Частка 5 , мы будзем абмяркоўваць разгортванне гэтай сістэмы. Я буду сумаваць тое, што было вывучана і што мне ўдалося стварыць.

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 3

Па Стывен Лойд Уоткин , у пятніцу 4 снежні 2009 года 11:37 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем працу пакетнай апрацоўкі мільёнаў запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэты набор артыкулаў я буду глядзець на патэнцыйныя выгады ад выкарыстання офіса сеткі выкарыстаннем виртуализованных асяроддзях.

У частцы 2 мы разгледзелі працу сервер будзе працаваць, як і працоўныя месцы павінны быць настроены для дасягнення найбольшую колькасць апрацоўкі ў той час, каб кожная праца апрацоўваецца ў абавязковым парадку.

Настройка рабочага - ці LIMP сервера

Наступным крокам у працэсе з'яўляецца стварэнне віртуальнай работнікаў. Для гэтага я збіраюся выкарыстоўваць ўстаноўкі CentOS выкарыстаннем VirtualBox. Я збіраюся ўсталяваць MySQL і PHP на сэрвэры, таксама вядомы як LIMP (Li NUX, м ySQL, P HP) Сервера (я, магчыма, зрабілі гэта імя уверх).

  • Устанавіць VirtualBox на вашыя акна машыны (па спасылцы)
  • Загрузка і ўстаноўка CentOS (бягучая версія 5,3) у рамках створанай віртуальнай машыны

Там няма сэнсу мне будзе гэта там, мусіць, 1000 'з вялікай падручнікі там (ну добра, вось адзін: Стварэнне і Managing CentOS віртуальнай машыне пад VirtualBox ). Важна адзначыць, я думаю, што я назваў маю віртуальную GridMachine машыны.

Што тычыцца майго выбару віртуалізацыі кліентаў і аперацыйнай сістэмы, туды не такое ўжо вялікае важкіх прычын для кожнага варыянту. VirtualBox з'яўляецца тое, што я выкарыстоўваю на маім хатнім кампутары і пры падтрымцы трох асноўных аперацыйных сістэм. Я абраў CentOS як яго добры стабільны OS і я выкарыстоўваю яго на свой вэб-сервер. Я вельмі веру ў правільныя інструменты для працы (хоць я падаю заяву "Выкарыстоўваць хуткі і просты для вас" менталітэт тут), таму, калі аперацыйная сістэма X працуе ваш код хутчэй і больш эфектыўна выкарыстоўваць яго:)

Важна пераканацца, што ваш VM выкарыстоўваецца DHCP, у адваротным выпадку для кожнай новай віртуальнай машыны павінны быць настроены асобна, тое, што мы не want.By выкарыстаннем DHCP мы не павінны наладзіць сеткавыя наладкі індывідуальна для рабочага машын, DHCP будзе боку з IP-адрасоў для вас. Таму вы можаце скапіяваць вашу віртуальную машыну каля офіса, не турбуючыся аб усталёўцы кожнага уверх (гэта паляпшае маштабаванасць і зніжае працаўнік адміністрацыі).

Працэс, які вы павінны імкнуцца да дасягнення б атрымаць новыя фізічныя машыны, ўстаноўкі VirtualBox, і то ў значнай ступені разгарнуць віртуальныя выявы без многае іншае. Гэта можа быць мудрым, каб наладзіць ўсе вашы працаўнікі ў іншай падсеткі, каб можна было па крайняй меры даведацца, колькі машын працуе. Вам таксама неабходна наладзіць машыны на доўгатэрміновую арэнду або неабмежаваную арэнды DHCP.

Як для выканання заданняў на работніка

Гэта цікавае напрамак і Ёсць некалькі навукова абгрунтаваных метадаў для апрацоўкі заданняў на работніка. Тут я проста абмеркаваць два найбольш відавочных:

  • Пастаянна працуе сцэнарыя: сцэнар, будзь то скрыпт, ці скрыпт выконваецца адзін раз на работніка і працуе як частка бясконцага цыклу. Я гэты метад дыскантаваных як адзін крах сцэнарыя і, магчыма, вашыя работнікі перастануць працаваць без нейкага ўмяшальніцтва.
  • Cron заснаваны выканання сцэнарыя: кожныя х хвілін дэман cron стартуе званок на ваш сцэнар наладзіць справу. Без якой-небудзь праверкі гэта можа прывесці да шматлікіх шматлікія копіі працоўны скрыпт працуе.

Маё рашэнне было пайсці з хрон які стартуе скрыпт кожныя 10 minutes. мой скрыпт выконвае наступныя задачы:

  1. Атрымаць спіс працэсаў і GREP гэта для "PHP". Калі не знойдзены, то працягнуць.
  2. Call працу кода, у маім выпадку гэта будзе нешта PHP заснаваных
  3. Работнік скрыпт завяршае свой бег
  4. Гатовыя ісці зноў на наступны адпаведны выклік

Мой Баш скрыпт выглядае прыкладна наступным:

  #! / BIN / Ш.
 PS калі сякера | Grep-V GREP |> GREP PHP / Dev / нуль
 то
     Рэха "Праца ў цяперашні час апрацоўкі, з выхадам"
 яшчэ
     Рэха "Праца не працуе, пачніце прама зараз"
     PHP yourJobProcessingScript.php
 Fi 

Заўвага: рэха амаль цалкам бессэнсоўна, але можа дапамагчы наступны чалавек, які прыходзіць разам, каб паспрабаваць змяніць іх.

На гэтым настройка работніка віртуальнай машыны, хутка, проста і лёгка капіяваць у кожнай новай часткі абсталявання, якое атрымаў. 'Розум' сеткі сістэма сапраўды не ў візуалізуецца АС, яе ўсё рабіць з код, створаны ў працэсе работы, работы канфігурацыі, і ў тым, каб заданне выконваецца ў выпадку неабходнасці (напрыклад, калі гаспадар знаходзіцца ў рэжыме чакання ).

Настройка Windows для ініцыялізацыі працоўных

Першай задачай з'яўляецца распрацоўка каманды, неабходныя для запуску віртуальнай машыны з каманднага радка Windows. Калі ў Вас ўстаноўлена VirtualBox ў папку па змоўчванні, і вы назвалі ваш работнік GridMachine то каманда патрабуе, каб загрузіць ваш работнік:

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

Аднак, каб запусціць сцэнар у "абезгалоўленых" дзяржава нам трэба выкарыстаць:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = OFF 

Гэта прывядзе да запуску віртуальнай машыны без графічнага інтэрфейсу і дазваляе яму захаваць стан хупава. Другі аргумент выключаецца RDP таму ён не канфліктуе з Windows RDP, ці даць вам паведамленне аб праслухоўвае порт 3389. Імя віртуальнай машыны з улікам рэгістра!

Далей, мы павінны ўсталяваць Windows да стартуе наш працоўны В. М. разам машына была простай. Для гэтага (на Windows XP) вам неабходна перайсці Пуск -> Усе праграмы -> Стандартныя -> Службовыя -> Прызначаныя заданні ", як паказана ніжэй:

запланаваных задач

Потым націсніце на "Дадаць заданне ', а затым перайдзіце да дадаваць прыстасаваныя праграмы. Перайдзіце на сцэнар VBoxManage і націсніце кнопку ОК. Расклад ваша задача для любога з варыянтаў (мы зменім гэта ў хвіліну) і працягнуць занятак. Пасля пропуску наступнага акна акно папросіць вас, хто вы хочаце, каб выканаць гэтую задачу, я прапаную альбо "Адміністратар" ці стварэння новых прывілеяваных карыстальнікаў. Памятайце, што мы не хочам умешвацца ў стандартнай ўліковага супрацоўнікаў на машыне ў любы момант. Націсніце кнопку Далей і ўсталюйце флажок Паказваць дадатковыя опцыі для гэтай задачы.

Да канца выканання TextBox дадаць 'startvm GridMachine' радок нашага і забеспячэння таго, каб працаваць толькі тады, калі ўвайшлі ў сістэму застаецца дадзеную опцыю. Наведайце Расклад заданні наступнага і змяніць графік апусціцца да опцыю 'у рэжыме чакання, выберыце колькасць часу, вы хацелі машына, бяздзейнічаць, перад тым як перайсці да наступнай закладцы.

Нарэшце зніміце опцыю у якім гаворыцца, спыніць задачу, калі яна працуе ўжо X колькасць часу, але галачку, каб адмовіцца ад задачы, калі машына не прастойвае.

графік

Вось і ўсё, то для ўстаноўкі прымаючага акна!

Рэзюмэ

У гэтай частцы мы стварылі віртуальную машыну ў якасці работніка, а таксама спосаб, у якім мы называем і выканаць нашы сцэнарыі апрацоўкі заданняў (для сябе сцэнар PHP). Тут мы разгледзім, як наладзіць нашы копіі Windows для запуску віртуальнай машыны ў рэжыме абезгалоўленых, калі кампутар бяздзейнічае, і захаваць свой стан, калі карыстальнік аднаўляе выкарыстанне машыны. Спадзяюся, у гэты момант вы бачыце, як гэта проста для стварэння такой сістэмы і чухаюцца, каб атрымаць некаторыя эксперыменты збіраецеся самі!

Наступны раз

У частцы 4 мы будзем глядзець на выкарыстанні інструментаў для забеспячэння таго, каб вы працуеце ў апошняй версіі кода і дадзеных крыніц, з тым, што атрыманыя вынікі заўсёды ў нагу з актуальны з апошнімі бізнес-інфармацыі і лёгіцы.

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 1

Па Стывен Лойд Уоткин , у пятніцу 4 снежні 2009 года 11:23 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем працу пакетнай апрацоўкі мільёнаў запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэты набор артыкулаў я буду глядзець на патэнцыйныя выгады ад выкарыстання офіса сеткі выкарыстаннем виртуализованных асяроддзях.

Як PHP распрацоўшчык я збіраюся выкарыстоўваць інструменты, якія я выкарыстоўваю кожны дзень, а менавіта, Linux, MySQL , PHP, VirtualBox і Subversion (SVN). Аднак я спадзяюся, што гэта кіраўніцтва будзе адаптавацца да іншых мовах і тэхналогіях гэтак жа добра.

Рашэнне, якое я забяспечваюць будзе вельмі слаба ў залежнасці ад тыпу апрацоўкі, мы павінны былі б дасягнуць аднак гэта не можа быць праўдай праз усю артыкул, як я змяню рэчы для прастаты, або для атрымання больш цікавых сцэнарыяў выкарыстання.

Гэтыя виртуализованных асяроддзях будзе працаваць на Windows-машын, так як гэта тое, што большасць аддзяленняў перспектыве. Апрацоўкі, што служба машыны не павінны перашкаджаць супрацоўнікам выкарыстоўваць гэтыя машыны, павінны не патрабуюць тэхнічнага абслугоўвання ў машыну, і быць лёгка ўсталёўваецца на новых машынах, як яны стануць даступныя. Акрамя таго, новыя віртуальныя машыны не патрабуюць дадатковай наладкі, паколькі гэта значна зніжае маштабаванасць і прастата, пры якім сетка сістэма можа быць пашырана.

Чаму Разгортванне Grid Упраўленне вылічальных?

Па-першае вы можаце падумаць, чаму б не выкарыстоўваць вылічальныя рэсурсы аблокі, такіх як платформы EC2 Амазонкі ? Ну прычын можа быць некалькі, напрыклад:

  • Вы не будзеце даручыць некаторых дадзеных у асяроддзі хмарных вылічэнняў
  • Вы не можаце змясціць пэўныя дадзеныя ў асяроддзі хмарных вылічэнняў па юрыдычных прычынах (напрыклад, дадзеныя з краіны), патэнцыйна па юрыдычных прычынах, напрыклад, NHS запісаў.
  • Вы жадаеце захаваць свае працэсары блізкія і мець поўны кантроль над апаратных занадта
  • У вас няма сродкаў праекта для запуску аблокі выпадках
  • Ваш офіс не мае падключэнне да Інтэрнэту, і таму яе нельга выкарыстоўваць воблака рэсурсаў
  • Вам не падабаецца дождж, аблокі прапанаваць дождж, таму вы трымаеце далей

Я ўпэўнены, што спіс можна працягнуць, але я думаю, што гэта дастаткова.

Перавагі Grid Computing Office

Ну, дазваляе зрабіць некаторыя матэматыкі (а ў праўдзівым стылі фізікі дазваляе зрабіць некаторыя радыкальныя здагадкі). Уявіце, у вас ёсць вялікі мясісты сервер апрацоўкі працуе 100 рабочых месцаў у дзень. У офісе ў вас ёсць 50 машын, якія прастойваюць па 16 гадзін у дзень, кожная з гэтых машын складае 10%, як магутны як ваш дужы апрацоўкі сервер. (Усе вынікі тут акругляюцца да недаацэньваць павелічэння прадукцыйнасці).

Так, 1 машына * 10% магутнасці * 2 / 3 часу = 0,067 т. е. 1 працоўны стол апрацоўкі ў просты працэс можа 6 поўны працоўны дзень.

Калі вы цяпер маштабы гэтага да яго займае 15 прастою настольных кампутараў для апрацоўкі як шмат працоўных месцаў у дзень у якасці асноўнага сервера апрацоўкі робіць.

Так у нашым офісе прэтэндуе 50 машын мы маглі павялічыць нашы вылічальныя магутнасці ад 1 сервер да 4 поўных сервераў апрацоўкі, ці мы маглі б быць апрацоўкі 400 рабочых месцаў у дзень замест 100.

Звярніце ўвагу, для якіх-небудзь інвестыцый у новае абсталяванне Ваша кампанія толькі што павялічыла свой ​​пакет перапрацоўчых магутнасцяў у 4 разы! Патэнцыйна вы збіраецеся павялічыць спажыванне энергіі, але ад большасці офісе я быў у машынах, як правіла, застаецца на ноч у любым выпадку, каб вы маглі бачыць гэта як зялёны ініцыятывы.

Іншыя перавагі таксама азначае, што інвестыцыі ў новы (ці абноўлены) апрацоўкі сервераў можа быць адкладзенае, калі вашы машыны офіса з'яўляюцца дастатковымі, і што вам палепшыць магутнасць вашай машыны офіса вашага офіса сеткі становіцца больш магутным аўтаматычна.

Тэхналогіі

Што вам трэба? (Ці, дакладней, што ж я выкарыстоўваю):

  • Idle офіснай тэхнікі (у маім выпадку ноўтбук запасных старой Windows XP)
  • VirtualBox (або іншага праграмнага забеспячэння віртуалізацыі кліентаў)
  • Віртуальная машына з PHP, MySQL running працуе скараціць OS, я тэлефаную гэтыя мае LIMP сервераў:)
  • Вакансіі для запуску
  • Праца сервера (можа быць іншай віртуальнай машыне дзе-то)

Тыповыя Вакансіі

Тыпы працоўных месцаў, што гэтая сістэма прызначана для працы складаецца ў наступным:

  • Сістэма атрымлівае спіс дадзеных, на якіх мы павінны сувымяраць і вяртаць вынікі
  • Уключае праверку адпаведнасці / пошук некалькіх (даволі статычны) крыніц дадзеных
  • Вынікі з крыніц дадзеных могуць запатрабаваць далейшай праверкі, зліваючыся, праверка дадатковых крыніц дадзеных у адказ на вынікі
  • Дадзеныя вяртаецца з адпаведнымі запісамі, цалкам правераныя і апрацаваныя
  • Кожная запіс у працу не залежыць ад астатніх

Таму ў асноўным мы глядзім на запушчаных заданняў, якія патрабуюць сумесь пошуку ў базе дадзеных і некаторай колькасці храбусценне, даволі тыповы сцэнар у бізнес-асяроддзі.

Grid рашэння не толькі выгадна для апрацоўкі заданняў гэтага тыпу. У прынцыпе, любы працэс, які можа быць падзелена на незалежныя адзінкі могуць працаваць паралельна. Глядзіце гэтую Вікіпэдыі прыклады і больш падрабязную інфармацыю: Grid Computing , але пару вядомых прыкладаў SETI @ Home і BIONC . Ёсць рамкі для выканання вылічальных сетак, і гэта таксама заслугоўвае вывучэння.

Што мы дасягнулі?

Да канца гэтых артыкулаў я спадзяюся паказаць, што разгортванне Office сеткі не трэба быць вельмі дарагім ці часу. Я збіраюся абмеркаваць наступныя пытанні:

  • Настройка сістэмы кіравання заданнямі, канфігурацыі заданні
  • Стварэнне адпаведнай апрацоўкі віртуальнай машыны
  • Як наладзіць сістэму на машыну Windows
  • Забеспячэнне вы карыстаецеся апошнюю версію кода і даных
  • Разгортвання і тэсціравання
  • Зазіраючы ў будучыню

Я буду будынка (ОК я пабудаваў, то напісаў гэта) прыклад прыкладання для тэставання канцэпцый на лакальным кампутары з Windows XP і віртуальная машына мая "GridMachine. Мая праца серверны элемент кіравання будзе мая галоўная машына, якая працуе Fedora 11 .

Гэта ніякім чынам не прадэманстраваць цалкам рабочы надзейныя сістэмы, яе азначала больш дэманстрацыі і абмеркавання паказваюць, што гэтыя рэчы могуць быць дасягнуты ў разумна кароткія тэрміны і пры невялікіх выдатках. Калі ласка, не саромейцеся, дасылайце мне любыя каментары, выпраўлення або паляпшэнні, і я зраблю ўсё магчымае, каб гэты артыкул абноўленая да матчу.

Наступны раз

У частцы 2 я пачну, гледзячы на сістэмы кіравання працай, і вывучыць, як працоўныя месцы павінны быць настроены для дасягнення найбольшую колькасць апрацоўкі ў той час, каб кожная праца апрацоўваецца ў абавязковым парадку.

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 2

Па Стывен Лойд Уоткин , у пятніцу 4 снежні 2009 года 11:23 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем працу пакетнай апрацоўкі мільёнаў запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэты набор артыкулаў я буду глядзець на патэнцыйныя выгады ад выкарыстання офіса сеткі выкарыстаннем виртуализованных асяроддзях.

У частцы 1 я даў агляд сістэмы і тэхналогіі, я буду выкарыстоўваць, а таксама абмяркоўваліся некаторыя з патэнцыйных прычын, чаму вы хацелі б стварыць офіс сеткі.

Упраўленне заданнямі

Калі вы збіраецеся быць запушчаны працоўных месцаў, то вы будзеце мець патрэбу ў нейкі спосаб кіраваць імі. Ваша задача сістэмы кіравання (на вашу працу сервера) павінен быць вельмі добра прадуманы, перш чым нават спрабаваць запусціць офіс сеткі. Так па-першае, якія задачы для сістэмы кіравання заданнямі:

  • Раздайце працоўных месцаў па просьбе работнікаў
  • Скажыце, які тып працаўнікоў працоўных месцаў для запуску
  • Трэк працоўных месцаў
  • Пераканайцеся, што заданні выконваюцца толькі адзін раз
  • Забяспечыць працу дадзеных для работнікаў, або па крайняй меры расказаць ім, дзе можна атрымаць яе

Сістэма таксама павінна быць пашыраецца, рашэнне, якое працуе цяпер у адным выпадку можа быць павялічана да запуску некалькіх відаў работ, як бізнес бачыць стаіць у сетцы рашэнне. Напрыклад, працоўныя месцы могуць атрымаць прыярытэты, больш чым адзін тып задання могуць існаваць (гэта ёсць некалькі баз код), у канчатковым выніку вы нават можаце запусціць некалькі розных машын работніка, якія аптымізаваныя для кожнага тыпу задання (хоць гэта ніяк адысці ад "агульнага работніка "ідэя). Заўсёды стараюся думаць аб будучыні пры распрацоўцы сістэмы, кароткі перспектыве можа прывесці да доўгатэрміновых расчараванні і павелічэнне часу развіцця.

Праца сервера

Мы збіраемся трэба дзесьці кантраляваць нашу працу з, гэта павінна быць адзінай сістэмай у сетку, якая мае фіксаваныя лакатар рэсурсу, у тым, што адрас IP, імя хосту, адрас (з выкарыстаннем ўнутранага DNS) і г.д. Гэта адбываецца таму, работнікі павінны ведаць, дзе шукаць працу, работнікам неабходна знайсці працу сістэмы кіравання (не сістэма кіравання заданнямі знайсці працаўнікоў).

Працу самога сервера ў рэчаіснасці не маюць складаную задачу (у асноўны ці інакш сістэма), ён павінен захоўваць спіс заданняў, раздаваць працоўныя месцы, атрымліваць вынікі, а затым захоўваць іх для наступнага выкарыстання. Як гэтыя часткі (напрыклад, "руку Джобса) вызначаныя можа быць вельмі просты. Пазней мы можам пашырыць сістэмы ўключаюць адміністрацыйны інтэрфейс для дадання, рэдагавання, выдалення, прыпыніць працу, але гэта выходзіць за гэтую працу.

Існуе ніякіх падстаў, тое, што ваша праца сервера не можа быць віртуальная машына працуе ў вашай асноўнай сервер апрацоўкі ўмове, што яна не зліваць ваду занадта шмат рэсурсаў з яго. Працу сервера аднак мае патрэбу ў высокай даступнасці, калі яна ідзе ўніз ў пятніцу вечарам вы будзеце губляць усе выходныя апрацоўкі, патэнцыйна каштаваць вам пару тыдняў варта часу апрацоўкі (у параўнанні з вашай асноўнай сервер апрацоўкі ў адзіночку) . Вы можаце разгледзець пытанне аб стварэнні працу сервера з Балансаваннем нагрузкі асяроддзя для забеспячэння высокай даступнасці.

Асноўная настройка

Асноўныя ўстаноўкі для нашай працы сервера будзе складацца з таго, што я тэлефаную аднаму з маіх сервераў LIMP (гэта значыць Li NUX, м ySql, Р л.с.). Код, які выконваецца на Thea работнікаў сапраўды будзе працаваць, якія работы ён можа працаваць, ўзаемадзейнічаем з працай баз даных сістэмы кіравання. Пазней мы маглі б стварыць вэб-сэрвіс і фактычна раздае працоўныя месцы замест таго, работнікі рабіць цяжкую працу самі, але цяпер мы будзем працягваць выкарыстоўваць прынцып KISS (Keep It Simple, Stupid!).

Такім чынам, дазваляе стварыць тры MySQL табліц для рашэння рабочых месцаў. Гэта будуць працоўныя месцы ``, `jobRecords`, і `jobResults`.

працоўных месцаў табліцы Тут я выкарыстоўваю SQL Buddy вялікі невялікі альтэрнатыва PhpMyAdmin толькі таму, што яе лягчэй ўсталяваць на CentOS (для іншых гл.: 10 лепшых альтэрнатыў PhpMyAdmin )

Гэтая табліца складаецца з 5 простых палёў,

  • ID: Унікальнае вызначыць працу
  • Назва: Можа быць кліентам спасылку, або любую колькасць іншых ідэнтыфікатараў
  • Статус: Вы павінны ведаць, дзе праца на, напрыклад,
    • 0: Не выканана
    • 1: Узяў
    • 2: Завершаны
  • started_by: Хто пачаў рабіць гэтую працу? Гэта не зусім патрабуецца, але прыемна мець. Я прапаную адсочвання рабочых па іх IP-адрасы ў сеткі
  • started_at: Калі работнік пачаць працу? Па адсочвання працоўных месцаў, якія яшчэ не завершаны на працягу X колькасць раз, калі мы ведаем, што неабходна падабраць працу яшчэ раз і пачаць апрацоўку іншы супрацоўнік. Рабочыя маглі спыніць апрацоўку / пераходу ў аўтаномны рэжым для любога ліку прычын, збой харчавання, збой, страта сеткі і г.д.

Лёгка, як гэтая табліца можа быць пашырана за кошт некалькіх дадатковых палёў, каб для адсочвання статыстыкі, калонкі скончыць своечасова, каб убачыць, як доўга працу ўзялі, лічыльнік каб даведацца, колькі працоўных ўзяў працу (відавочна, гэта неабходна, як правіла, 1), прыярытэт заданні, спіс можна працягваць і працягваць. У больш складаных сцэнараў працы можна было б паказаць, колькі памяці работнік будзе неабходны доступ да (і, такім чынам, выкарыстоўваць толькі прыдатныя рабочыя), ці нават які тып работніка не патрабуецца.

Давайце дадамо некалькі працоўных месцаў, напрыклад:

Напрыклад працоўных месцаў

У наступнай табліцы зноў даволі просты для разумення, гэта нашы запісы працу. Яны звязаны з асноўнай табліцы працоўных месцаў калонкі `jobs_id`. Зрабіць з гэтай табліцы вельмі многае залежыць ад дадзеных, якія неабходна прадаставіць, каб вашыя работнікі, дазваляе зрабіць вельмі просты прыклад, калі ў нас ёсць чатыры слупкі:

  • ID: ідэнтыфікатар запісу
  • Назва: імя асобы
  • адрас: адрас асобы
  • jobs_id: ідэнтыфікатар заданні, што гэты запіс звязана з

Трэці і фінальны стол складаецца з табліцы вынікаў, ён гэтак жа складаюць, як нашы запісу табліцы, а з даданнем некаторых слупкоў можа быць часткай табліцы запісаў:

  • job_record_id: Спасылка вынік працы табліцы
  • Вынік: вынік дадзеных

... І гэта ўсё, што трэба для кіравання заданнямі! (Хаця на самай базавым узроўні) У маім выпадку я ўказаў на іншы стол, дзе мае дадзеныя, каб працэс быў размешчаны, але гэта можа так жа лёгка было файла, параметры для запуску мадэлявання кода, то імя яго.

Выбар работы

Як згадвалася раней, рабочыя будуць рабіць сваю працу кіравання для нас цяпер, так што ўсё, што трэба, каб сапраўды зрабіць, гэта знайсці працу, якая павінна апрацоўкі і атрымання інфармацыі. Як бы мы гэта зрабіць? Ну забраць нашы крытэры выбару працы і шукаць працу, у SQL я зрабіў наступныя:

  1. Вазьміце любую працу, якія не пазначаныя як поўнае, але ад нашага работніка і скінуць іх (замяніць __ME__ з ідэнтыфікатарам, просты б IP-адрас):
      UPDATE `працу` SET `статус` = 0, дзе `статус` = 1 і `started_by` = __ME__; 
  2. Выкарыстоўваючы нашы крытэры выбару працы, выбраць працу і сказаць сістэме кіравання, што гэты работнік мае справу з ім:
      UPDATE `працу` SET `статус` = 1, "started_by` = __ME__, `started_at` = NOW () WHERE `статус` = 0 або
     (`Статус` = 1 і `started_at`> DATE_SUB (NOW (), інтэрвале х ЧАС)) ORDER BY `ID` ASC; 

    Па захопу працоўных месцаў, якія не вярнуліся вынікі ў X колькасць часу мы гарантуем, што ўсе работы выконваюцца ў выпадку збою або працаўнік будзе самаволку.

  3. Наступная захапіць працоўных месцаў падрабязнасці ідуць самі запісу:
      SELECT * FROM `працу` WHERE `started_by` = __ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `ID` = __JOBID__; 

Пасля завяршэння працы мы ўстаўляем наш вынік запісу і Марк працу ў якасці поўнай. Памятаеце, як праца можа прыпыніць / аднавіць у любы час забяспечыць пэўную ўстойлівасць у сцэнары. Цалкам верагодна, што задача прыпыняе на палове шляху абнаўлення сістэмы кіравання заданнямі, таму праверка колькасці запісаў у працу і лік вынікаў захаваны ў сістэме кіравання працай будзе мудрым крокам.

Акрамя таго, у той час як гэта паказана, як працоўныя месцы могуць быць выбраны і кіруецца з SQL-запыту кадр, які вы павінны сапраўды быць абстрагаванне вашай працы кіравання, так што калі вы вырашылі перайсці да выкарыстання вэб-сэрвісаў, файл на аснове сістэмы, XML , або любы іншы колькасць сістэм не паўплывае на код вышэй.

Праца канфігурацыі

Наступны аспект для разгляду з'яўляецца памер працоўных месцаў і канфігурацыі. Гуляючы з працы канфігурацыі мы можам стукнуць выдатны баланс паміж хуткасцю, працэс рэплікацыі, і надзейнасць. Вазьміце пару аператара А сцэнараў:

  1. Вакансіі прымаць па 1 дзень кожны для запуску: Гэта азначае, што працаўнікам неабходна 15 дзён для апрацоўкі кожнага задання (памятаеце 10% магутнасці для 2/3rds часе). Гэта, відавочна, не мудрым канфігурацыі, ваша праца памер занадта вялікі! Было б прыняць па крайняй меры удвая больш часу, каб атрымаць працу павінны апрацоўвацца пачатковай работніка пайсці самаволку (час, каб забраць, што ён не вярнуўся выніку перапрацоўкі плюс час). У ідэале трэба мець хаця б адзін поўны працоўны лёгка ачышчаюцца ад канца кожнага перыяду доўгага прастою, такім чынам вы захаваць працоўныя месцы ціканне больш, а ў горшым выпадку праца зойме два дні, каб працэс павінен спачатку пайсці прапаўшымі без вестак.
  2. Вакансіі прымаць ад 1 хвіліны да запуску: Гэта азначае, што вашыя работнікі зойме каля 15 хвілін для выканання кожнага задання. Хоць гэта можа спачатку падацца ідэальнай, вы атрымліваеце дадатковую апрацоўку працы ў часе абеду, кава-брэйкі, нарад і г.д. гэты сцэнар ставіць нагрузку на іншыя вобласці сістэмы і ўводзіць свае ўласныя праблемы. Напрыклад, у першую чаргу Наладзьце / час апрацоўкі суадносіны будзе ісці прама, таму страты эфектыўнасці сістэмы. Ваша сетка будзе пастаянна струменевай працы з інфармацыяй розных працоўных хвалюе супрацоўнікаў, якія дон сваёй паўсядзённай працы. Вы таксама збіраецца надаваць больш нагрузку на сервер апрацоўкі заданняў, як ён павінен страва з шмат-шмат маленькіх кавалачкаў працы на рэгулярнай аснове. Нарэшце, у гэтай сітуацыі, калі ваша праца сервер недаступны вы збіраецеся стварыць вялізны таму часопіс незавершаных работ у той час як больш працоўных месцаў можа працягу апрацоўкі ў блажэннай недасведчанасці, што праца сервера, якія выпрабоўваюць цяжкасці.

У рэчаіснасці не будзе аднаго ідэальнага канфігурацыя для ўстаноўкі сеткі, многае залежыць ад наяўных рэсурсаў, тыпу працы, працы час апрацоўкі патрабаванняў, магчымасць працы ў сеткі, і гэтак далей. Аднак некаторыя кіруючыя прынцыпы будуць:

  • Памер працу так, каб кожны работнік можа атрымаць па крайняй меры праз 3-4 працоўных месцаў на працягу 15 гадзін (доўгая верагоднасць прастою перыяд часу)
  • Гуляць з працай памер так, што час ўстаноўкі становіцца даволі нязначным у параўнанні з апрацоўкай час (маючы на ​​ўвазе вышэй кропкі).
  • Калі праца не завяршаецца ў два разы больш часу (можа быць менш) вы чакаеце, што для завяршэння яго лічыць, што яго сышлі самаволку і пачаць яго апрацоўку з іншым працаўніком. Гэта азначае, што вы, магчыма, прыйдзецца чакаць да трох раз нармальная даўжыня працу для завяршэння (магчыма, і даўжэй, калі наступная праца не атрымоўваецца). Вы можаце скараціць гэты час, але будзьце асцярожныя, каб не паменшыць яго занадта шмат, як вы можаце пачаць дубліравання задач апрацоўкі на рэгулярнай аснове.
  • Вакансіі павінны быць незалежныя ад знешніх патрабаванняў як мага больш. Працу сервера, напрыклад, павінны быць толькі звязаліся ў пачатку і канцы кожнага задання.
  • Не насыціць вашай сеткі, гэта будзе мець два адмоўных эфектаў, ваш дзённай персанал знайсці выкарыстаннем сеткі расчараванне і праблемы могуць узнікнуць з падключэннем па тайм-ауту, што праблема будзе толькі пагаршацца, як вы маштабавання сеткі.
  • Забяспечыць працоўныя месцы могуць працаваць на вашых работнікаў. Калі работы занадта вялікі аб'ём памяці або дыскавай прасторы інтэнсіўнай работы пачнуцца перапынення і толькі, што вы заўважыце гэта кропля ў лік працоўных месцаў апрацаваныя без рэальных прычын.

Прадстаўленне вынікаў работы

Пры падачы вынікі працы важна, каб праверыць, што вынікі не былі прадстаўлены на іншага работніка, асабліва калі бягучы рабочы быў замарожаны на працягу некаторага часу.

Калі вынікі былі забяспечыць, каб колькасць вынікаў матчаў колькасць запісаў у працу.

Як згадвалася раней, і не можа быць больш падкрэсліў, будаваць адмоваўстойлівасці ў пошуку працы і вынікі прадстаўлення. Працаўнікі могуць (і хутчэй за ўсё) пераходзяць у рэжым чакання ў самы непрыдатны раз, і гэта павінна быць задавальняюцца за. Таксама яшчэ раз абстрагаванне ад вашых вынікаў прадстаўлення дапаможа задаволіць будучыя змены ў сістэме кіравання заданнямі значна лягчэй мець справу з.

Рэзюмэ

У гэтым section мы глядзелі на тое, што сервер кіравання заданнямі трэба зрабіць і як атрымаць вельмі просты усталяваннем сістэмы. Мы абмеркавалі, як атрымаць працу з сістэмай кіравання і як лепш наладзіць працу, каб атрымаць большасць нашых вашай сістэмы сеткі офіса. Каб скончыць, параграф ці два па адпраўцы вынікі назад на сервер кіравання заданнямі была прадстаўлена.

  • Сервер кіравання працай кіруе працоўных месцаў і гарантуе, што ўсе працы будуць завершаны адзінак
  • Па абстрагаванне вашай працы выберыце / вынікі прадстаўлення мы можам змяніць тэхналогію кіравання серверам без асаблівых праблемы
  • Настройка працоўных месцаў для забеспячэння таго, каб яны працуюць хутка і эфектыўна, не падвяргаючы занадта шмат ціску на сеткавую інфраструктуру, і без дубліравання задач апрацоўкі на рэгулярнай аснове.
  • Пераканайцеся, што вы будуеце адмоваўстойлівасці і памылкі checking ў вашай працэдуры, працаўнікі могуць прыпыніць і аднавіць і самы нязручны раз. Не забудзьцеся праверыць, калі вынікі ўжо былі прадстаўлены іншым працаўніком.

Наступны раз

У частцы 3 мы створым наш віртуальны машына для апрацоўкі і стварэння нашага акна машыны, каб стаць часу прастою работнікаў.

Упраўленне Grid Computing выкарыстаннем віртуальных асяроддзяў - Частка 5

Па Стывен Лойд Уоткин , у пятніцу 4 снежні 2009 года 11:03 вечара

Увядзенне

Я працую ў кампаніі, дзе мы запускаем працу пакетнай апрацоўкі мільёнаў запісаў дадзеных кожны дзень, і я думаў нядаўна пра ўсіх машынах, якія сядзяць кожны дзень нічога не рабіць на працягу некалькіх гадзін. Не было б добра, калі мы маглі б выкарыстоўваць гэтыя машыны для ўмацавання вылічальнай магутнасці нашых сістэм? У гэты набор артыкулаў я буду глядзець на патэнцыйныя выгады ад выкарыстання офіса сеткі выкарыстаннем виртуализованных асяроддзях.

У частцы 4 мы глядзелі на выкарыстанні інструментаў для забеспячэння таго, каб мы ўстаноўлена апошняя версія кода і дадзеных крыніц, з тым, што атрыманыя вынікі заўсёды ў нагу з актуальны з апошнімі бізнес-інфармацыі і лёгіцы.

Перад разгортваннем

Перад разгортваннем падвеснай сістэме, калі ёсць адна рэч, вы робіце, і адно толькі гэта тэст бягучую сістэму! Усё роўна, што вы расказаць калегам пра тое, як шмат дадатковай працы вашай сістэмы будзе рабіць, калі ў вас ёсць нумара, каб падтрымаць гэта вашы гарантыі нічога. Такім чынам,

  • колькі запісаў вы можаце працэсу ў цяперашні час? У дзень? У гадзіну?
  • Колькі часу звычайна займае павярнуць працу?
  • Як шмат больш магчымасцяў у вас ёсць?

Там таксама дадатковыя пытанні:

  • Калі ваш сервер апрацоўкі (або адзін з вашых сервераў апрацоўкі) ідзе ўніз як гэта паўплывае на вашыя магчымасці, вы будзеце калека?
  • Якія перавагі вы спадзеяцеся / чакаеце атрымаць ад падвеснай сістэме?
  • Вашы машыны офіс можа працаваць працоўныя месцы?
  • Вашы (ці вы можаце быць ператвораныя працоўных месцаў) для працы ў гэтым стылі працуе?

Апошняя буйная кропка цікава правесці час на якіх-небудзь сур'ёзных змяненняў, як гэта. Абнаўленне апрацоўкі кода для працы з выкарыстаннем новай метадалогіі, тэст зноў. Магчыма наладзіць сервер апрацоўкі для запуску віртуальнай машыны, пасля ўсіх вашых апрацоўкі серверам будзе проста яшчэ адзін рабочы (толькі вельмі магутны адносна). Дазволіць новага працэсу па ўрэгуляванні.

Разгортвання

Мая прапанова было б поп у офісе адзін уік-энд выконваць усе ўстаноўкі і настройкі. Рабіце гэта як раз перад двухтыднёвы адпачынак і адпачынак, каб іншыя небарака мець справу з наступствамі ... можа і не ...

Разгортванне сістэмы, як гэта павінна быць павольным. Нягледзячы на ​​яго параўнальна просты ў ўстаноўцы гэтай сістэмы будзе ўплываць на ўсю інфраструктуру офіса (а лічбавы). Па-першае, раскачаць на пару машын у той час, маніторынг сеткавага трафіка, як работнік выконвае хост ў дзень, у дзень аснове. Магчыма, вам прыйдзецца змяніць вашу працу канфігурацыі ў адказ на вашыя высновы.

Пасля таго як сістэма пасяліўся з некалькіх машын (скажам 10% усіх офісных машын, т. 5) трымаць маніторынг сеткавага трафіка і машыне performance. Наступны тэст яшчэ раз, цяпер вы павінны апрацоўваць 33% больш працоўных месцаў, чым ваш першы паказчыкаў. Праверце гэта так, або што вы па крайняй меры ў гэтым прыблізныя. Калі няма, даследаваць, што адбываецца, перш чым рухацца далей. Паўтарыце гэты цыкл, пакуль вы з радасцю ўсё офіснай тэхнікі працуе без забойства асобных прадукцыйнасць машыны або шліфавальных сеткі ў тупік.

Ва ўсе часы трымаць бенчмаркинга, нават пасля ўсіх разгортвання зробленыя. Праверце, як новыя абнаўлення кода ўплывае на хуткасць вашай сістэмы, праверце ўсе работнікі справаздачнасці і апрацоўкі заданняў. Павольна (вельмі павольна) прырост вашай канфігурацыі заданні, каб атрымаць лепшыя з вашых работнікаў і сеткі.

Стоп!

Што рабіць, калі вы хочаце спыніць працоўных з якія працуюць на некаторы час? Яны ўсе там працуе, рэгенеруе, і з усіх сіл спрабуюць апрацоўваць дадзеныя, як галодныя казуркі. Адказ можа здацца відавочным, але яго варта дадаваць толькі ў выпадку яго ўвагі. Проста зменіце сцэнар апрацоўкі з выхадам (0) або памерці () або некаторыя іншыя заявы, каб забіць вашага заданні апрацоўкі. Важная прычына, чаму мы заўсёды імкнемся, каб абнавіцца да апошняй апрацоўкі сцэнарыя да таго, бяжы!

Дэманстрацыя сістэмы

Для таго, каб напісаць гэта мноства кароткіх артыкулаў, якія я стварыў вельмі маленькі сеткі для дэманстрацыі тэхналогій і методык. Я прачытаў шмат артыкулаў, навучальныя дапаможнікі і выкарыстоўваць розныя інструменты для наладкі і маніторынгу, што адбываецца. Ні ў якім выпадку я выйшаў і насычаным ўвесь офіс з рухам і, ні ў мяне не было доступу да рэгулярных ПК супрацоўнікаў, каб убачыць, як гаспадар выкананне якіх паўплывалі.

Мой дэманстрацыі сістэмы была вельмі сціплай сапраўды. Я выкарыстоўвала свой рэгулярны працоўны стол настроены як сервер кіравання заданнямі. На гэтым я быў ​​усталяваны MySQL сервер усталяваны настроены як майстар ў рэплікацыі, PHP , А і SVN звязаныя праз Apache (для доступу праз працоўны VM).

Затым я стварыў CentOS машыну работніка на VirtualBox на 6-гадовы ноўтбук Windows XP. Я ўстаноўкі запланаваных задач, як паказана пасля капіявання VM на машыну і адпусціць.

Віртуальная машына была створана з PHP, падрыўной дзейнасці, і MySQL. Я праверыў галінку "працоўны" ад маёй работы ўпраўлення серверамі і сховішчам пераканайцеся, што яно можа быць абноўлены з дапамогай "SVN Update". Затым я ўстаноўкі MySQL ў якасці раба і праверыць, што дадзеныя рэплікацыі з MySQL на серверы кіравання заданнямі да работніка VM. Пасля ўсяго гэтага я магу наладзіць скрыпт Bash і хрон.

Мой сцэнар апрацоўкі ў асноўным пайшлі па лініі гэтага (вельмі простыя рэчы):

  • Чытайце ў поле імя
  • Падлічвалі колькасць падобных імёнаў у табліцу з крыніцы дадзеных які адбыўся В.М.
  • Падлічвалі колькасць імёнаў, як і вышэй, але расшчаплення назве па прасторы (напрыклад, імя, сярэдняга, прозвішча)
  • Паўторныя гэты працэс у 1000 разоў

Кожнае заданне заняло прыкладна 20 хвілін, каб запусціць. У адзін момант я адкрыў некалькі копій работніка ВМ на наўтбук Windows і глядзеў працоўных месцаў правяраецца з кожным з работнікаў адрасы IP. На гэтым этапе я таксама пацвердзіў, што рэплікацыі аўтаматычна перазапушчаны.

Пакінуўшы ноўтбук на халасты ход у выніку працаўнік пачынае працэс працы з серверам кіравання заданнямі. Пры аднаўленні выкарыстання ноўтбука была затрымка каля 30-60 секунд, гэта ладная колькасць часу і персаналу неабходна будзе ведаць, што іх машына можа спыніцца на некаторы час, вяртаючыся да машыны. Новыя машыны не могуць мець паўзу так доўга. Балазе аб'ём апрацоўкі выконваюцца гэтыя машыны на халастым ходу перыядаў будзе больш, што пераважвае супрацоўнікаў чакаючы кароткі перыяд (скажам 1 хвіліна), прыбыўшы на сваіх машынах раніцай (я часта чакаць даўжэй, што гэта для Windows Defender абнаўленне адбываецца), калі яны былі пастаўлены ў вядомасць аб гэтым (карыснае час, каб захапіць ранішні кава!).

У цэлым, я ўпэўнены, што я паказаў тэхналогій, якія могуць быць выкарыстаны для стварэння такой сістэмы. Я паказаў, што такая сістэма працуе на (вельмі) малых маштабах і з яшчэ некалькі эксперыментаў можа быць пашыраны выкарыстоўваць рэсурсы машыны офіса. Калі я не дойдзе да кропкі, для гэтага я быў бы вельмі цікава ведаць / бачыць, калі хто-то іншы.

Высновы / Ацэнка

Наступным відавочным крокам было б рэальна атрымаць рэальны прыклад і пачаць разгортванне сістэмы, такія як гэта ў офісе і паглядзець, што адбываецца. Запытаная бізнесу да здзяйснення гэтага без следу палаючы кампаніі даказаць, тэхналогіі і эфектыўнасці, можа быць крыху цяжка. Grid / Разьмеркаваныя вылічэньні вельмі папулярная некаторых колах і мае некаторыя вялікія прыкладанні (BIONC, SETI @ Home, Folding @ Home і г.д.). Я, аднак, не знайсці ў меншых маштабах і просты сістэмы, як гэта ў мае пошукі, якія маглі б быць разгорнута ў офісе.

Я стварыў у асноўным свабоднай сістэмы з дапамогай асноўным з адкрытым зыходным кодам і сродкі, існуючыя практычна ў любым офісе. Тэхналогіі ў асноўным былі прадэманстраваны і паказаць, для выканання работы і, як чакалася. Спадзяюся, у мяне ёсць паказаць, што з не так шмат працы і вельмі простай ўстаноўкі можна разгарнуць вылічальныя офісе падвеснай сістэме, што з'яўляецца магутным, танныя, А і маштабуецца усё ў той жа час.

Як толькі сістэма і працуе амаль няма канца на суму налады і паляпшэнні, якія вы можаце зрабіць. Напрыклад статыстыкі / бенчмаркинга могуць быць лёгка дададзеныя паказаны варта такой сістэме кожны дзень. Новыя машыны могуць быць дададзеныя хутка і лёгка, як і калі яны прыходзяць з мадэрнізацыі існуючага абсталявання ўмацавання вашай вылічальнай магутнасці.

Я спадзяюся, вам спадабалася чытаць гэтую серыю артыкулаў і даў вам ежу для разважанняў аб запуску сістэмы офіса сеткі. Рашэнне, прадстаўленае тут, не абавязкова будуць працаваць ва ўсіх сітуацыях, але павінны быць адаптаваныя, каб дазволіць Вам, каб атрымаць дадзеныя апрацоўкі робіцца з дапамогай уласнага рашэнні.

Калі ласка, не саромейцеся, дасылайце мне любыя каментары, выпраўлення або паляпшэнні, і я зраблю ўсё магчымае, каб гэты артыкул абноўленая да матчу.

[Апавяшчэння] нашчадка выхаду XXXX сігнал Памылка сегментацыі (11)

Па Стывен Лойд Уоткин , у нядзелю 11 Кастрычнік 2009 г. 06:09 вечара

Калі вы нядаўна абнавілі PHP або Apache вы, можа быць, натыкаецца на пытанне аб вашым вэб-серверы вяртаюцца пустыя старонкі, і, кінуўшы паведамленні аб памылках у логах, не ведаю, чаму, вось адзін з магчымых спосабаў, каб выправіць гэта ...

У мяне была гэтая праблема пару разоў нядаўна пасля абнаўлення Apache або PHP на віртуальнай машыне. У першы раз я заўважыў памылку я проста вярнуўся да рэзервовую копію майго В.М., але другі раз, я зразумеў, што я павінен быў бы шукаць у гэтым пытанні.

У першы раз я заўважыў, пытанне некаторыя з маіх вэб-старонках былі служылі пустыя файлы ў той час як іншыя працавалі выдатна. Пасля праведзенага расследавання я адзначыў, што Apache быў выпісваючы ў / VAR / Часопіс / HTTP / error_log з наступным паведамленнем repeatidly:

[Апавяшчэння] нашчадка выхаду XXXX сігнал Памылка сегментацыі (11)

Там не вылучыць, каб прайсці он-лайн, і большасць з старонак аб гэтым след ад ні да чаго. Гэта значыць, я звузіў пытанне PHP збой пры спробе непатрэбных дынамічных бібліятэк.

Гледзячы на ​​мой php.ini (/ і г.д. / php.ini) Я пракаментаваў ўсё з дынамічных бібліятэк, загружаных планавання на каментуючы іх назад ў па меры неабходнасці. Два я павінен быў узяць, дзе pdo.so і MySQL . так.

Як толькі яны былі выдаленыя ўсе мае вэб-старонкі былі служыў добра, як і раней PHP / абнаўленне Apache.

Бесправадныя на Acer 5002 WLMi на Linux (Fedora 11)

Па Стывен Лойд Уоткин , у суботу 11 ліпень 2009 г. 09:48 вечара

Як я правёў яшчэ некалькі гадзін сёння без доступу ў Інтэрнэт я думаў, што лепш атрымаць гэта запісана так, што ў наступны раз, калі я беспарадак мой ноўтбук, інфармацыя лёгка выправіць.

Асноўным, каб атрымаць бесправадны кіроўцаў, якія працуюць на Acer 5002 WLMi вы павінны будзеце выкарыстоўваць b43-fwcutter. Інструкцыі можна знайсці тут: Linux бесправадной B43 .

Лёгка, як толькі інфармацыя знаходзіцца.













Панарама Тэма Themocracy

14 наведвальнікаў зараз
9 гасцей, 5 ботаў, 0 карыстальнікаў
Макс наведвальнікаў сёння: 14 у 12:25 раніцы UTC
У гэтым месяцы: 26 у 2011/05/07 12:35 раніцы UTC
У гэтым годзе: 130 у 2011/03/28 10:40 вечара UTC
За ўвесь час: 130 у 2011/03/28 10:40 вечара UTC