Pengenalan
Saya bekerja di sebuah syarikat di mana kita menjalankan kerja kumpulan yang memproses berjuta-juta rekod data setiap hari dan saya telah memikirkan baru-baru ini kira-kira semua mesin yang duduk di sekeliling setiap dan setiap hari melakukan apa-apa untuk beberapa jam. Bukankah lebih baik jika kita dapat menggunakan mesin tersebut untuk mengukuhkan kuasa pemprosesan sistem kami? Dalam set ini artikel saya akan melihat potensi manfaat menggajikan pejabat grid menggunakan persekitaran virtualised.
Part 2 kami melihat pekerjaan pelayan akan berjalan, dan bagaimana kerja sepatutnya dikonfigurasi untuk mencapai jumlah pemprosesan di samping memastikan setiap kerja diproses tanpa gagal .
Menyediakan pekerja anda atau pelayan Bizkit
Langkah seterusnya dalam proses untuk menubuhkan pekerja maya anda. Untuk ini saya akan menggunakan pemasangan CentOS menggunakan VirtualBox. Saya akan memasang MySQL dan PHP pada pelayan, juga dikenali sebagai Bizkit (Li Nux, m ySQL P HP) Server (Saya mungkin telah dibuat bahawa nama sehingga).
- Pasang VirtualBox pada mesin windows anda (ikuti link)
- Muat turun dan pasang CentOS (versi sekarang 5.3) dalam mesin maya yang diwujudkan
Tidak ada titik yang saya pergi ini mungkin ada 1.000 's tutorial yang hebat di luar sana (ok, di sini satu: Mencipta dan Managing CentOS maya mesin di bawah virtualbox ). Perkara yang penting yang perlu diambil perhatian Saya rasa bahawa saya dipanggil mesin maya saya GridMachine.
Setakat pilihan pelanggan maya dan sistem operasi saya pergi, tidak ada sebab besar yang menarik untuk pilihan masing-masing. VirtualBox adalah sesuatu yang saya gunakan pada mesin rumah saya dan disokong oleh ketiga-tiga sistem pengendalian utama. Saya memilih CentOS sebagai OS yang stabil yang baik dan saya menggunakannya pada pelayan web saya sendiri. Saya mempercayai besar dalam alat-alat yang tepat 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 lebih cekap menggunakan yang sebaliknya:)
Yang penting pastikan bahawa VM anda menggunakan DHCP, jika tidak untuk setiap mesin maya baru perlu dikonfigurasi secara berasingan yang adalah sesuatu yang kita tidak want.By menggunakan DHCP kita tidak perlu untuk mengkonfigurasi tetapan rangkaian individu untuk mesin pekerja, DHCP akan menyerahkan IP keluar untuk anda. Oleh itu, anda boleh menyalin mesin maya anda tentang pejabat tanpa perlu bimbang tentang menetapkan setiap satu (ini meningkatkan skala dan mengurangkan pentadbiran pekerja).
Proses anda hendaklah bertujuan untuk mencapai akan mendapatkan mesin fizikal yang baru, 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 boleh melihat berapa banyak mesin menjalankan. Anda juga akan perlu untuk menubuhkan mesin anda atas dasar pajakan yang lama atau unlimited pajakan DHCP.
Bagaimana menjalankan Pekerjaan pekerja
Ini adalah satu kawasan yang menarik dan terdapat beberapa kaedah yang sah untuk memproses pekerjaan kepada pekerja. Di sini saya hanya akan membincangkan dua yang paling jelas:
- Sentiasa menjalankan skrip: A skrip, menjadi skrip shell, atau skrip PHP dilaksanakan sekali pada pekerja dan berjalan sebagai sebahagian daripada gelung tak terhingga. Saya telah diskaun kaedah ini sebagai salah satu kemalangan skrip dan berpotensi pekerja anda akan terhenti berjalan tanpa sejenis campur tangan.
- Cron script pelaksanaan berasaskan: Tiap-tiap minit X daemon cron bermula panggilan kepada script kamu untuk mendapatkan hal yang terjadi. Tanpa menyemak beberapa ini boleh membawa kepada salinan banyak menjalankan skrip pekerja anda.
Keputusan saya adalah untuk pergi dengan cron yang bermula tiap-tiap skrip shell minutes. 10 skrip shell saya melaksanakan tugas-tugas berikut:
- Dapatkan senarai proses dan grep ini untuk 'php'. Jika tidak dijumpai, maka terus.
- Panggil kod kerja anda, dalam kes saya ini akan menjadi sesuatu yang berasaskan PHP
- Skrip Pekerja selesai jangka
- 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 "Job sedang memprosesnya, keluar"
lain
echo "Kerja tidak berjalan, mulakan sekarang"
php yourJobProcessingScript.php
fi Nota:, echo hampir sia-sia, tetapi boleh membantu orang yang datang bersama-sama untuk mencuba dan mengubah mereka.
Itu kesimpulan set mesin pekerja maya, cepat, mudah, dan mudah untuk menyalin setiap serpihan baru perkakasan yang diterima. 'Kepandaian' sistem grid benar-benar tidak dalam OS digambarkan, semua kaitan dengan kod yang diwujudkan untuk proses pekerjaan, konfigurasi kerja, dan dalam memastikan bahawa kerja dijalankan apabila sesuai (iaitu apabila tuan rumah terbiar ).
Menyediakan Windows untuk Initialise Pekerja
Tugas pertama adalah untuk bekerja arahan yang diperlukan untuk menjalankan mesin virtual dari baris arahan tingkap. Jika anda memasang virtualBox di lokasi lalai dan anda telah dinamakan GridMachine pekerja anda, maka perintah yang diperlukan untuk memuatkan pekerja anda :
"C: Program Files \ \ Ahd \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Walau bagaimanapun untuk menjalankan skrip dalam sebuah negeri 'tak ada maknanya kita perlu menggunakan:
"C: Program Files \ \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off
Ini akan memulakan mesin maya tanpa GUI dan membenarkan untuk menyelamatkan keadaan anggun. Hujah kedua dimatikan RDP supaya ia tidak bercanggah dengan tingkap RDP, atau memberi mesej mengenai mendengar pada port 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 (di Windows XP), anda akan perlu pergi ke Start -> All Program -> Accessories -> Utiliti Sistem -> Berjadual Tugas-tugas seperti berikut:
Seterusnya klik pada 'Tambah Petugas Berjadual' diikuti oleh semak imbas untuk menambah program pesanan. Navigate kepada tulisan VBoxManage anda dan klik ok. Jadual tugas anda untuk mana-mana pilihan (kami akan perubahan ini pada minit) dan terus. Setelah melangkau skrin seterusnya windows akan meminta anda yang anda mahu menjalankan tugas ini, saya ingin mencadangkan sama ada 'Administrator' atau mewujudkan pengguna yang istimewa yang baru. Ingat kita tidak mahu mengganggu akaun kakitangan standard pada mesin pada bila-bila. Klik yang akan datang dan memeriksa menunjukkan pilihan yang maju untuk tugas ini.
Untuk akhir kotak teks jangka menambah rentetan 'startvm GridMachine' dan memastikan jangka bahawa hanya apabila logged in ditinggalkan unticked. Lawati tugas jadual yang akan datang dan mengubah jadual drop down pilihan 'apabila terbiar', memilih jumlah masa yang anda ingin mesin terbiar sebelum berpindah ke tab seterusnya.
Akhirnya untick pilihan yang menyatakan menghentikan tugas itu jika ia telah menjalankan amaun X masa, tetapi semak pilihan untuk menghentikan tugas jika mesin tidak lagi terbiar.
Itu sahaja kemudian untuk persediaan tuan rumah tingkap!
Ringkasan
Pada bahagian ini, kami telah menubuhkan sebuah mesin virtual untuk bertindak sebagai seorang pekerja, serta cara yang kita panggil dan melaksanakan skrip pemprosesan kerja kita (untuk diri sendiri skrip PHP). Dari sini kita melihat bagaimana untuk menubuhkan salinan kami memulakan mesin maya dalam mod tak ada maknanya apabila komputer menjadi terbiar, dan menyelamatkan keadaan apabila pengguna menyambung semula penggunaan mesin. Mudah-mudahan pada titik ini anda melihat bagaimana mudah ia adalah untuk menubuhkan satu sistem sedemikian dan gatal untuk mendapatkan beberapa eksperimen akan diri anda!
Next time
Dalam Bahagian 4 , kita akan melihat menggunakan alat-alat untuk memastikan bahawa anda sedang menjalankan versi terbaru dari sumber-sumber kod dan data supaya mendapat keputusan sentiasa up-to-date dengan maklumat perniagaan yang terkini dan logik.