Pengenalan
Saya bekerja di sebuah perusahaan di mana kita menjalankan banyak pekerjaan batch pengolahan jutaan catatan data setiap hari dan saya sudah berpikir baru tentang semua mesin yang duduk di sekitar masing-masing dan setiap hari melakukan apa-apa selama beberapa jam. Bukankah itu baik jika kita bisa menggunakan mesin-mesin untuk meningkatkan kekuatan pemrosesan sistem kami? Dalam set artikel saya akan melihat potensi manfaat menggunakan kantor jaringan menggunakan lingkungan virtualised.
Pada bagian 2 kita melihat pekerjaan server akan berjalan, dan bagaimana pekerjaan harus dikonfigurasi untuk mencapai jumlah terbesar pengolahan sementara memastikan bahwa setiap pekerjaan diproses tanpa gagal.
Menyiapkan pekerja Anda - atau server lemas
Langkah selanjutnya dalam proses ini adalah untuk mengatur pekerja virtual Anda. Untuk ini saya akan menggunakan instalasi CentOS menggunakan VirtualBox. Aku akan menginstal mySQL dan PHP pada server, juga dikenal sebagai (Li nux, m ySQL, P HP) lemas Servera (Saya mungkin telah membuat nama atas).
- Instal VirtualBox pada mesin windows Anda (ikuti link)
- Download dan menginstal CentOS (versi 5.3) dalam mesin virtual yang dibuat
Tidak ada gunanya aku pergi ke ini mungkin ada 1.000 's tutorial besar di luar sana (ok, ini satu: Membuat dan Managing CentOS mesin virtual bawah virtualbox ). Yang penting untuk dicatat saya kira adalah bahwa saya disebut mesin virtual saya GridMachine.
Sejauh pilihan saya klien virtualisasi dan sistem operasi pergi ke sana ada alasan kuat yang besar untuk setiap pilihan. VirtualBox adalah sesuatu yang saya gunakan pada mesin rumah saya dan didukung oleh tiga sistem operasi utama. Saya memilih CentOS sebagai OS yang stabil baik dan saya gunakan di server web sendiri. Saya percaya pada alat yang tepat untuk pekerjaan itu (meskipun saya menerapkan 'menggunakan tercepat dan termudah untuk Anda' mentalitas di sini), jadi jika X sistem operasi menjalankan kode Anda lebih cepat dan lebih efisien menggunakan itu sebagai gantinya:)
Yang penting pastikan bahwa VM Anda menggunakan DHCP, jika untuk setiap mesin virtual baru akan perlu dikonfigurasi secara terpisah yang merupakan sesuatu yang tidak kita want.By menggunakan DHCP kita tidak perlu mengkonfigurasi pengaturan jaringan individual untuk mesin pekerja, DHCP akan tangan IP keluar untuk Anda. Oleh karena itu Anda dapat menyalin mesin virtual Anda tentang kantor tanpa khawatir tentang pengaturan masing-masing sampai (ini meningkatkan skalabilitas dan mengurangi administrasi pekerja).
Proses Anda harus bertujuan untuk mencapai adalah untuk mendapatkan sebuah mesin fisik baru, menginstal VirtualBox, dan kemudian cukup banyak menyebarkan citra virtual tanpa banyak lagi. Mungkin bijaksana untuk setup semua pekerja Anda pada subnet yang berbeda sehingga Anda dapat setidaknya melihat berapa banyak mesin yang menjalankan. Anda juga harus menyiapkan mesin Anda pada sewa jangka panjang atau terbatas sewa DHCP.
Bagaimana menjalankan Jobs pada pekerja
Ini adalah area yang menarik dan ada beberapa metode yang valid untuk diproses pekerjaan di pekerja. Di sini saya hanya akan membahas dua yang paling jelas:
- Menerus menjalankan script: Sebuah script, baik itu shell script, atau script PHP dieksekusi sekali pada pekerja dan berjalan sebagai bagian dari sebuah loop tak terbatas. Aku sudah diskon metode ini sebagai salah satu kecelakaan script dan berpotensi pekerja Anda akan berhenti untuk berjalan tanpa semacam intervensi.
- Cron eksekusi script berbasis: Setiap menit X daemon cron kicks off panggilan ke script Anda untuk mendapatkan hal yang terjadi. Tanpa memeriksa beberapa hal ini dapat menyebabkan banyak salinan banyak menjalankan script Anda pekerja.
Keputusan saya untuk pergi dengan cron yang kicks off shell script setiap 10 minutes. shell script saya melakukan tugas-tugas berikut:
- Dapatkan daftar proses dan grep ini untuk 'php'. Jika tidak ditemukan maka melanjutkan.
- Panggil kode pekerjaan Anda, dalam kasus saya ini akan menjadi sesuatu yang berbasis PHP
- Pekerja skrip selesai menjalankan nya
- Siap untuk pergi lagi pada panggilan yang sesuai berikutnya
Bash script saya terlihat seperti berikut:
# / Bin! / Sh
jika ps ax | grep-v grep | grep php> / dev / null
kemudian
echo "Ayub sedang diproses, keluar"
lain
echo "Ayub tidak berjalan, mulai sekarang"
php yourJobProcessingScript.php
fi Catatan: echo adalah hampir sepenuhnya sia-sia, tetapi mungkin membantu orang berikutnya yang datang untuk mencoba dan mengeditnya.
Yang menyimpulkan set up mesin pekerja virtual, cepat, sederhana, dan mudah untuk menyalin ke setiap bagian hardware baru yang diterima. The 'kepintaran' dari sistem grid benar-benar tidak di OS divisualisasikan, yang semua harus dilakukan dengan kode yang dibuat untuk memproses pekerjaan, konfigurasi pekerjaan, dan dalam memastikan bahwa pekerjaan berjalan pada saat yang tepat (yaitu ketika tuan rumah idle ).
Menyiapkan Windows untuk Menginisialisasinya Pekerja
Tugas pertama adalah untuk bekerja keluar perintah yang diperlukan untuk menjalankan mesin virtual dari baris perintah jendela. Jika anda telah menginstal VirtualBox di lokasi default dan Anda telah bernama Anda pekerja GridMachine maka perintah yang diperlukan untuk mengisi pekerja Anda:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine
Namun untuk menjalankan script dalam keadaan 'tanpa kepala' kita perlu menggunakan:
"C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off
Ini akan memulai mesin virtual tanpa GUI dan memungkinkan untuk menyelamatkan negara anggun. Argumen kedua mematikan RDP sehingga tidak bertentangan dengan jendela RDP, atau memberikan pesan tentang mendengarkan pada port 3389. Nama mesin virtual adalah case sensitive!
Selanjutnya, kita harus mengatur jendela sampai untuk memulai VM buruh kita setelah mesin telah menganggur. Untuk melakukan hal ini (pada Windows XP) Anda akan perlu pergi Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks sebagai berikut:
Selanjutnya klik pada 'Add Scheduled Task' diikuti dengan isi untuk menambahkan program kustom. Arahkan ke script VBoxManage Anda dan klik ok. Jadwal tugas Anda untuk setiap pilihan (kita akan perubahan ini dalam satu menit) dan terus. Setelah melewatkan jendela layar berikutnya akan meminta Anda yang Anda ingin menjalankan tugas ini, saya sarankan baik 'Administrator' atau membuat user dengan privilege baru. Ingat kita tidak ingin mengganggu dengan account staf standar pada mesin pada titik apapun. Klik berikutnya dan memeriksa menunjukkan opsi lanjutan untuk tugas ini.
Untuk akhir textbox tambahkan kami menjalankan string 'startvm GridMachine' dan memastikan bahwa hanya dijalankan ketika login yang tersisa unticked. Kunjungi tugas jadwal berikutnya dan mengubah jadwal drop down ke pilihan 'saat idle', memilih jumlah waktu yang Anda ingin mesin untuk idle sebelum pindah ke tab berikutnya.
Akhirnya untick opsi yang menyatakan menghentikan tugas jika telah berjalan jumlah X waktu, tapi jangan centang pilihan untuk menghentikan tugas jika mesin tidak lagi menganggur.
Itu maka untuk pengaturan host jendela!
Ringkasan
Pada bagian ini kita telah menetapkan suatu mesin virtual untuk bertindak sebagai pekerja, serta cara yang kita sebut dan melaksanakan tugas kami skrip pengolahan (untuk diri saya sendiri script PHP). Dari sini kita melihat bagaimana menyiapkan salinan kita jendela untuk memulai mesin virtual dalam modus tanpa kepala ketika komputer menjadi idle, dan menyelamatkan negara ketika pengguna resume penggunaan mesin. Mudah-mudahan pada saat ini Anda melihat betapa sederhananya adalah untuk mengatur sistem seperti dan gatal untuk mendapatkan beberapa eksperimen pergi sendiri!
Berikutnya waktu
Pada Bagian 4 kita akan melihat menggunakan alat untuk memastikan bahwa Anda menjalankan versi terbaru dari sumber kode dan data sehingga hasil yang diperoleh selalu up-to-date dengan informasi bisnis terbaru dan logika.