Posts tagged: pekerja

Pejabat Pengkomputeran Grid menggunakan persekitaran Maya - Bahagian 3

Oleh , Jumaat 4 Disember 2009 23:37

Pengenalan

Saya bekerja di sebuah syarikat di mana kita menjalankan banyak kerja kelompok pemprosesan berjuta-juta rekod data setiap hari dan saya telah memikirkan tentang semua mesin yang duduk di sekitar setiap hari dan setiap melakukan apa-apa untuk beberapa jam baru-baru ini. Bukankah lebih baik jika kita boleh menggunakan mesin tersebut untuk mengukuhkan kuasa pemprosesan sistem kami? Dalam set rencana-rencana ini, saya akan melihat manfaat yang berpotensi menggajikan pejabat grid yang menggunakan persekitaran virtualised.

Di bahagian 2 kita melihat pekerjaan pelayan akan berjalan, dan bagaimana kerja sepatutnya dikonfigurasi untuk mencapai jumlah terbesar pemprosesan di samping memastikan bahawa setiap pekerjaan diproses tanpa gagal.

Menubuhkan pekerja anda - atau pelayan tempang

Langkah seterusnya dalam proses untuk menubuhkan pekerja maya anda. Untuk ini, saya akan menggunakan pemasangan CentOS menggunakan VirtualBox. Saya hendak install mySQL dan PHP pada pelayan, juga dikenali sebagai tempang (Li Nux,. m ySQL P HP,) Server (Saya mungkin telah dibuat bahawa nama sehingga).

  • Memasang VirtualBox pada mesin tingkap anda (ikut pautan)
  • Muat turun dan pasang CentOS (semasa versi 5,3) dalam mesin maya yang dicipta

Tidak ada titik saya pergi ini mungkin ada s 1.000 tutorial hebat di luar sana (ok, di sini adalah satu: Mewujudkan dan Managing CentOS maya mesin di bawah virtualbox ). Titik penting untuk mengambil perhatian saya kira bahawa saya dipanggil mesin maya saya GridMachine.

Sejauh seperti pilihan pelanggan maya dan sistem operasi saya pergi, tidak ada sebab besar yang menarik untuk setiap pilihan. VirtualBox adalah sesuatu yang saya gunakan pada mesin rumah saya dan disokong oleh tiga sistem pengendalian utama. Saya memilih CentOS sebagai OS yang stabil baik dan saya menggunakannya pada pelayan web saya sendiri. Saya mempercayai besar dalam alat-alat yang sesuai untuk kerja (walaupun saya memohon 'menggunakan yang paling cepat dan paling mudah untuk anda' minda di sini), jadi jika sistem operasi X menjalankan kod anda lebih cepat dan cekap menggunakan bahawa bukannya :)

Penting memastikan bahawa VM anda menggunakan DHCP, sebaliknya bagi setiap mesin maya baru perlu diatur secara berasingan yang merupakan sesuatu yang kita tidak want.By menggunakan DHCP kita tidak perlu untuk mengkonfigurasi tetapan rangkaian individu untuk mesin pekerja, DHCP akan menyerahkan keluar IP untuk anda. Oleh itu anda boleh menyalin mesin maya anda tentang pejabat tanpa perlu bimbang menetapkan setiap satu (ini meningkatkan skala dan mengurangkan pentadbiran pekerja).

Proses anda perlu berusaha untuk mencapai adalah untuk mendapatkan mesin baru fizikal, memasang VirtualBox, dan kemudian cukup banyak menempatkan imej maya tanpa banyak lain. Ia mungkin bijak untuk persediaan semua pekerja anda pada subnet yang berbeza supaya anda sekurang-kurangnya dapat melihat berapa banyak mesin berjalan. Anda juga perlu untuk menubuhkan mesin anda ke atas pajakan yang lama atau tanpa had pajakan DHCP.

Bagaimana menjalankan Pekerjaan pada pekerja

Ini adalah kawasan yang menarik dan terdapat beberapa kaedah yang sah untuk memproses kerja pada pekerja. Di sini saya hanya akan membincangkan dua yang paling jelas:

  • Sentiasa menjalankan skrip: skrip A, sama ada skrip shell, atau skrip PHP dilaksanakan sekali pada pekerja dan berjalan sebagai sebahagian daripada gelung tak terhingga. Saya telah didiskaunkan kaedah ini sebagai salah satu kemalangan skrip dan berpotensi untuk pekerja anda akan terhenti berjalan tanpa sejenis campur tangan.
  • Cron pelaksanaan skrip berasaskan: Setiap minit X daemon cron bermula panggilan kepada script kamu untuk mendapatkan hal yang terjadi. Tanpa semakan beberapa ini boleh membawa kepada salinan banyak berjalan skrip pekerja anda.

Keputusan saya adalah pergi dengan cron yang bermula skrip shell setiap minutes. yang 10 skrip shell saya melaksanakan tugas-tugas berikut:

  1. Dapatkan senarai proses dan grep ini untuk 'php'. Jika tidak dijumpai, maka terus.
  2. Panggil kod kerja anda, dalam kes saya ini akan menjadi PHP sesuatu berdasarkan
  3. Skrip pekerja melengkapkan jangka
  4. Bersedia untuk pergi sekali lagi pada panggilan yang sesuai akan datang

Skrip Bash saya kelihatan seperti berikut:

  #! / Bin / sh
 jika ps ax | grep-v grep | grep php> / dev / null
 kemudian
     echo "Kerja sedang memprosesnya, keluar"
 lain
     echo "Kerja tidak berjalan, bermula sekarang"
     php yourJobProcessingScript.php
 Wayar 

Nota: ini gema hampir sepenuhnya sia-sia, tetapi boleh membantu orang seterusnya yang datang untuk mencuba dan mengedit mereka.

Yang menyimpulkan set mesin pekerja maya, cepat, mudah, dan mudah untuk menyalin setiap keping baru perkakasan yang diterima. 'Kepintaran' sistem grid benar-benar tidak dalam OS digambarkan, semua untuk melakukan dengan kod yang diwujudkan untuk pekerjaan proses, konfigurasi pekerjaan, dan dalam memastikan bahawa kerja berjalan apabila sesuai (iaitu apabila tuan rumah adalah terbiar ).

Menubuhkan Windows untuk Initialise Pekerja

Tugas pertama adalah untuk bekerja arahan yang diperlukan untuk menjalankan mesin maya daripada baris arahan tingkap. Jika anda telah dipasang virtualBox di lokasi lalai dan anda telah dinamakan GridMachine pekerja anda, maka arahan yang diperlukan untuk memuatkan pekerja anda adalah:

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

Walau bagaimanapun untuk menjalankan skrip dalam keadaan 'tidak berkepala' kita perlu menggunakan:

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

Ini akan mula mesin maya tanpa GUI dan membenarkan untuk menyelamatkan keadaan dengan anggun. Hujah kedua mematikan RDP supaya ia tidak bercanggah dengan tingkap RDP, atau memberi mesej tentang pendengaran di pelabuhan 3389. Nama mesin maya adalah case sensitive!

Seterusnya, kita akan perlu untuk menetapkan tingkap untuk memulakan VM pekerja kami sekali mesin telah terbiar. Untuk melakukan ini (pada Windows XP), anda akan perlu pergi Start -> All Programs -> Aksesori -> Utiliti Sistem -> Berjadual Tugas seperti di bawah:

dijadualkan tugas

Kemudian klik pada 'Tambah Petugas Terjadual' diikuti dengan melayari untuk menambah program tersuai. Navigate kepada tulisan VBoxManage anda dan klik ok. Jadual tugas anda untuk mana-mana pilihan (kami akan menukar ini pada minit) dan terus. Selepas ponteng skrin seterusnya tingkap akan meminta anda yang anda mahu menjalankan tugas ini, saya hendak mencadangkan sama ada 'Pentadbir' atau mewujudkan pengguna yang istimewa yang baru. Ingatlah kita tidak mahu campur tangan dengan akaun kakitangan standard pada mesin pada bila-bila. Klik depan dan periksa opsyen acara maju untuk tugas ini.

Hingga akhir textbox jangka menambah rentetan kami 'startvm GridMachine' dan memastikan jangka bahawa hanya apabila log masuk di kiri unticked. Lawati tugas jadual akan datang dan menukar jadual drop down pilihan 'apabila siap sedia', memilih jumlah masa yang anda ingin mesin untuk menjadi terbiar sebelum bergerak ke tab seterusnya.

Akhirnya untick pilihan yang menyatakan menghentikan tugas jika ia telah berjalan jumlah X masa, tetapi tandakan pilihan untuk menghentikan tugas jika mesin tidak lagi terbiar.

jadual

Itu sahaja maka bagi persediaan tuan rumah tingkap!

Ringkasan

Pada bahagian ini, kami telah menetapkan mesin maya untuk bertindak sebagai seorang pekerja, serta cara yang kita panggil dan melaksanakan skrip pemprosesan tugas kami (untuk diri saya skrip PHP). Dari sini kita melihat bagaimana untuk menubuhkan salinan kami tingkap untuk memulakan mesin maya dalam mod berkepala apabila komputer menjadi terbiar, dan menyelamatkan keadaan apabila pengguna disambung semula penggunaan mesin. Semoga pada ketika ini anda melihat bagaimana mudah ia adalah untuk menubuhkan satu sistem sedemikian dan gatal-gatal untuk mendapatkan beberapa eksperimen akan diri anda!

Masa yang akan datang

Dalam Bahagian 4, kita akan melihat menggunakan alat-alat untuk memastikan bahawa anda menjalankan versi terbaru dari sumber-sumber kod dan data supaya mendapat keputusan sentiasa-to-date dengan maklumat perniagaan yang terkini dan logik.

Pejabat Pengkomputeran Grid menggunakan persekitaran Maya - Bahagian 5

Oleh , Jumaat 4 Disember 2009 11:03

Pengenalan

Saya bekerja di sebuah syarikat di mana kita menjalankan banyak kerja kelompok pemprosesan berjuta-juta rekod data setiap hari dan saya telah memikirkan tentang semua mesin yang duduk di sekitar setiap hari dan setiap melakukan apa-apa untuk beberapa jam baru-baru ini. Bukankah lebih baik jika kita boleh menggunakan mesin tersebut untuk mengukuhkan kuasa pemprosesan sistem kami? Dalam set rencana-rencana ini, saya akan melihat manfaat yang berpotensi menggajikan pejabat grid yang menggunakan persekitaran virtualised.

Dalam Bahagian 4, kita melihat menggunakan alat-alat untuk memastikan bahawa kita sedang menjalankan versi terbaru dari sumber-sumber kod dan data supaya mendapat keputusan sentiasa-to-date dengan maklumat perniagaan yang terkini dan logik.

Pra-Deployment

Sebelum menggerakkan sistem grid anda jika ada satu perkara yang anda lakukan dan satu perkara sahaja ia penanda aras sistem semasa anda! Tidak kira apa yang anda beritahu rakan-rakan tentang berapa banyak kerja tambahan sistem anda akan lakukan melainkan anda mempunyai nombor ke belakang ini sehingga jaminan anda adalah apa-apa. Jadi,

  • berapa banyak rekod anda boleh memproses kini? Sehari? Sejam?
  • Berapa lama ia biasanya mengambil masa untuk pulih pekerjaan?
  • Berapa banyak lebih banyak kapasiti yang anda ada?

Ada juga soalan-soalan tambahan:

  • Jika pelayan pemprosesan anda (atau satu pelayan pemprosesan anda) terbenam bagaimana ini akan memberi kesan kepada keupayaan anda, anda akan lumpuh?
  • Apa kelebihan yang anda berharap / menjangka untuk mendapatkan daripada sistem grid?
  • Adakah mesin pejabat anda mampu menjalankan kerja-kerja?
  • Adakah anda (atau anda kerja boleh ditukar) untuk wrok dalam gaya ini berjalan?

Titik utama yang terakhir adalah untuk mengambil masa anda atas apa-apa perubahan besar seperti ini. Mengemaskini kod pemprosesan anda untuk bekerja menggunakan metodologi baru, penanda aras sekali lagi. Kemungkinan menubuhkan pelayan pemprosesan untuk menjalankan mesin maya, selepas semua pelayan pemprosesan anda hanya akan menjadi pekerja lain (hanya satu yang sangat kuat secara relatif). Biarkan proses baru untuk menyelesaikan.

Kerahan

Cadangan saya akan pop ke dalam hujung minggu pejabat melaksanakan semua pemasangan dan persediaan. Adakah ini sebelum bercuti dua minggu dan meninggalkan begitu miskin yang lain bab untuk menangani kesan ... mungkin tidak ...

Kerahan untuk sistem seperti ini perlu menjadi perlahan. Walaupun ia agak mudah untuk menubuhkan sistem ini akan menjejaskan keseluruhan infrastruktur pejabat anda (digital). Pertama, melancarkan beberapa mesin pada satu-satu masa, memantau trafik rangkaian, bagaimana tuan rumah pekerja melakukan atas dasar sehari-hari. Anda mungkin perlu mengubah konfigurasi tugas anda sebagai tindak balas kepada penemuan anda.

Sekali sistem telah diselesaikan dengan mesin beberapa (katakanlah 10% daripada semua mesin pejabat, iaitu 5) menyimpan memantau trafik rangkaian dan mesin tuan rumah performance. penanda aras Seterusnya lagi, kini anda perlu memproses 33% lebih banyak peluang pekerjaan daripada tanda aras pertama anda. Semak ini adalah demikian, atau bahawa anda sekurang-kurangnya dalam Ballpark ini. Jika tidak, menyiasat apa yang sedang berlaku sebelum berpindah. Mengulangi kitaran ini sehingga anda gembira telah semua mesin pejabat berjalan tanpa membunuh prestasi mesin individu atau pengisaran rangkaian anda untuk terhenti.

Pada setiap masa terus penandaarasan, walaupun selepas semua pergerakan dibuat. Semak cara update kod baru mempengaruhi kelajuan sistem anda, periksa semua pekerja melaporkan dan pemprosesan pekerjaan. Perlahan-lahan (amat perlahan) kenaikan konfigurasi kerja anda untuk mendapatkan yang terbaik dari pekerja dan rangkaian anda.

Berhenti!

Bagaimana jika anda mahu untuk menghentikan pekerja anda daripada berjalan pada masa tertentu? Mereka semua di luar sana berjalan, penjanaan semula, dan cuba yang terbaik untuk memproses data seperti serangga lapar. Jawapannya mungkin kelihatan jelas tetapi bernilai yang menambah hanya dalam kes terlepas pandang yang. Mengedit skrip pemprosesan anda hanya dengan keluar (0) atau mati () atau beberapa kenyataan lain untuk membunuh tugas pemprosesan anda. Satu sebab penting mengapa kita sentiasa cuba untuk mengemaskini skrip pemprosesan terkini sebelum jangka apa-apa!

Sistem demonstrasi

Dalam usaha untuk menulis ini set artikel pendek saya mencipta grid yang sangat kecil untuk menunjukkan teknologi dan metodologi. Saya membaca banyak artikel, tutorial, dan menggunakan pelbagai alat untuk persediaan dan memantau apa yang berlaku. Tidak sekali-telah saya padam dan tepu seluruh pejabat dengan lalu lintas dan juga telah saya mempunyai akses kepada kakitangan PC biasa untuk melihat bagaimana prestasi tuan rumah telah terjejas.

Sistem demonstrasi saya adalah sangat merendah diri sekali. Saya menggunakan desktop tetap saya yang ditubuhkan sebagai pelayan kawalan kerja. Mengenai perkara ini, saya telah memasang mySQL server dipasang ditubuhkan sebagai induk dalam replikasi, PHP , Â dan SVN yang dihubungkan melalui apache (untuk akses melalui VM pekerja).

Saya kemudian mencipta mesin CentOS pekerja pada VirtualBox pada 6 tahun XP komputer riba tingkap. Saya setup dijadualkan tugas-tugas sebagaimana yang dinyatakan selepas menyalin VM ke atas mesin dan biarkan ia pergi.

Mesin maya telah ditubuhkan dengan PHP, perbuatan subversif, dan mySQL. Saya memeriksa sebuah cawangan yang dinamakan 'pekerja' dari repository pelayan saya kawalan kerja dan memastikan ia boleh dikemaskini menggunakan 'svn update'. Seterusnya saya setup mySQL sebagai hamba dan memeriksa bahawa data telah mereplikakan dari mySQL pada pelayan kawalan kerja VM pekerja. Setelah semua ini, saya setup skrip Bash dan tugas cron.

Skrip pemprosesan saya pada dasarnya telah di sepanjang garis ini (barangan sangat mudah):

  • Baca dalam bidang nama
  • Dikira bilangan nama-nama yang sama dalam jadual dari sumber data yang diadakan pada VM
  • Dikira bilangan nama-nama seperti nama di atas tetapi membelah oleh ruang (iaitu nama kecil, pertengahan, nama keluarga)
  • Berulang-ulang proses ini 1,000 kali

Setiap kerja mengambil masa kira-kira 20 minit untuk berjalan. Pada satu ketika saya membuka beberapa salinan VM pekerja pada laptop tingkap dan melihat pekerjaan diperiksa oleh setiap alamat IP pekerja. Pada titik ini, saya juga mengesahkan bahawa replikasi secara automatik semula.

Meninggalkan komputer riba untuk menganggur menyebabkan seorang pekerja mula untuk memproses kerja dari pelayan kawalan kerja. Apabila meneruskan penggunaan komputer riba, terdapat sedikit kelewatan kira-kira 30-60 saat, ini adalah jumlah yang saksama masa dan kakitangan perlu dibuat sedar bahawa mesin mereka boleh berhenti seketika untuk seketika apabila pulang ke mesin. Baru mesin mungkin tidak mempunyai jeda yang panjang ini. Manfaat daripada jumlah pemprosesan yang dilakukan oleh mesin tersebut sepanjang tempoh terbiar akan lebih yang melebihi kakitangan perlu menunggu satu tempoh yang singkat (katakan 1 minit) untuk tiba di mesin mereka pagi (saya sering menunggu lebih lama bahawa ini untuk Defender Windows kini mengambil tempat) dengan syarat mereka sedar tentang perkara ini (masa yang berguna untuk merebut kopi pagi!).

Secara keseluruhan saya merasa yakin bahawa saya telah menunjukkan teknologi yang boleh digunakan untuk mewujudkan sistem seperti itu. Saya telah menunjukkan bahawa sistem ini berfungsi pada skala (sangat) kecil dan dengan lagi eksperimen dapat dipertingkatkan menggunakan sumber mesin pejabat. Jika saya tidak dapat berbuat demikian, saya akan menjadi sangat berminat untuk mengetahui / melihat apabila orang lain tidak.

Kesimpulan / Penilaian

Langkah yang jelas seterusnya adalah untuk mendapatkan contoh dunia sebenar dan mula untuk menggerakkan satu sistem seperti ini dalam persekitaran pejabat dan lihat apa yang berlaku. Meminta perniagaan untuk melakukan ini tanpa syarikat jejak panas membakar untuk membuktikan teknologi dan keberkesanan mungkin agak sukar. Grid / pengkomputeran teragih adalah sangat popular adalah beberapa bulatan dan mempunyai beberapa aplikasi besar (BIONC, Halkum @ Home, Melipat @ Home, dll). Saya tidak, bagaimanapun, cari skala yang lebih kecil dan sistem yang mudah seperti ini dalam pencarian saya yang boleh dilaksanakan dalam persekitaran pejabat.

Saya telah mencipta satu sistem yang pada asasnya bebas menggunakan sumber perisian kebanyakannya terbuka dan alatan yang disediakan di hampir mana-mana pejabat. Teknologi yang pada asasnya menunjukkan dan menunjukkan untuk melaksanakan dan bekerja seperti yang diharapkan. Semoga saya mempunyai menunjukkan bahawa dengan kerja-kerja yang tidak banyak dan dengan persediaan yang sangat mudah, anda dapat digunakan oleh sistem pengkomputeran grid pejabat yang berkuasa, murah, Â dan berskala pada masa yang sama.

Apabila sistem dan berlari terdapat hampir tiada akhir kepada jumlah penyesuaian dan penambahbaikan yang anda boleh membuat. Untuk statistik contoh / penandaarasan boleh ditambah dengan mudah menunjukkan sistem bernilai setiap hari. Mesin baru boleh ditambah dengan cepat dan mudah seperti dan apabila mereka tiba dengan peningkatan kepada perkakasan sedia ada mengukuhkan kuasa pemprosesan anda.

Saya berharap anda seronok membaca siri artikel ini dan yang memberikan makanan untuk pemikiran pada menjalankan sistem grid pejabat. Penyelesaian yang dibentangkan di sini tidak semestinya bekerja dalam semua keadaan tetapi perlu disesuaikan untuk membolehkan anda untuk mendapatkan pemprosesan data anda dilakukan dengan menggunakan penyelesaian anda sendiri.

Sila berasa bebas untuk menghantar saya untuk sebarang komen, pembetulan atau penambahbaikan dan saya akan melakukan yang terbaik untuk menyimpan artikel ini dikemas kini untuk menyamai.













Tema Panorama oleh Themocracy

7 pelawat online sekarang
5 tetamu, 2 bots, 0 ahli
Max pelawat hari ini: 16 pada 04:32 pm UTC
Bulan ini: 16 di 2012/1/5 01:02 pm UTC
Tahun ini: 69 pada 27-02-2012 09:56 am UTC
Semua masa: 130 pada 28-03-2011 10:40 pm UTC