Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Supervisor adalah sistem klien / server yang digunakan untuk mengontrol sejumlah proses UNIX, lebih khusus proses yang terkait dengan proyek atau pelanggan. Misalnya, Anda dapat menggunakan penyelia untuk menelurkan dan memantau sejumlah antrian pekerja yang sewenang-wenang dari aplikasi web Anda.
Komponen dari sistem ini adalah:
Dalam tutorial ini kita akan menginstal versi pengawas yang paling mutakhir, mendemonstrasikan cara menelurkan dan mengelola program melalui supervisorctl
, dan mengkonfigurasi antarmuka web untuk mengelola program kita.
Kami akan menginstal pengawas melalui easy_install
, fitur setuptools python.
Pertama, perbarui daftar paket lokal Anda dan kemudian instal python setuptools
.
sudo apt-get update && sudo apt-get install python-setuptools
Sekarang kita dapat menginstal supervisor.
sudo easy_install supervisor
Setelah instalasi selesai, kita harus membuat file konfigurasi kita. Buat folder bernama supervisor
di dalam /etc
.
sudo mkdir /etc/supervisor
Dan kemudian jalankan yang berikut ini.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Jika Anda tidak masuk dengan root
pengguna, Anda mungkin mendapatkan Permission denied
kesalahan (bahkan dengan sudo
). Ini karena pengalihan. Untuk mengatasinya, login sebagai root.
sudo su
Kemudian Anda dapat menjalankan perintah lagi.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Anda sekarang dapat meninggalkan root
pengguna dengan exit
perintah. The echo_supervisord_conf
perintah diberikan oleh instalasi pengawas kami.
Buka /etc/supervisor/supervisord.conf
file dan periksa isinya. Anda akan mencatat bahwa file konfigurasi ini mengikuti INI
sintaksis, dan dibagi dengan bagian-bagian (diwakili oleh tanda kurung seperti pada [section-name]
).
Untuk menambahkan program yang akan dikelola oleh penyelia, kita hanya perlu membuat bagian yang sesuai [program]
. Namun, untuk menghindari kekacauan pada file konfigurasi utama setiap kali kita perlu menambahkan (atau mengubah) program, kita akan menggunakan [include]
bagian tersebut. Temukan bagian ini, batalkan komentarnya lalu edit untuk terlihat seperti berikut ini.
[include]
files=conf.d/*.conf
Sekarang untuk setiap program yang ingin kita tambahkan, kita akan membuat .ini
file di dalam /etc/supervisor/conf.d/
direktori. Mari kita buat folder ini.
sudo mkdir /etc/supervisor/conf.d
Seperti disebutkan sebelumnya, supervisor terdiri dari server dan klien yang terhubung dengannya. Untuk dapat mengelola dan mengendalikan program, kita perlu memulai server. Untuk melakukannya, kami akan mendaftarkan server pengawas di systemd
, sehingga server dapat dimulai saat startup sistem.
Untuk melakukannya, buat file yang disebut supervisord.service
di /etc/systemd/system
direktori.
sudo touch /etc/systemd/system/supervisord.service
Tambahkan konten berikut ke file.
[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target
[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Alias=supervisord.service
Aktifkan layanan pengawas.
sudo systemctl start supervisord.service
Selama file layanan berada di /etc/systemd/system
direktori, file tersebut akan secara otomatis dimulai saat startup sistem.
Anda dapat memeriksa status layanan.
systemctl status supervisord.service
Anda juga dapat memeriksa log.
sudo journalctl -u supervisord.service
Program-program yang dikendalikan oleh penyelia diberikan oleh [program]
bagian-bagian berbeda dalam konfigurasi. Untuk setiap program yang ingin kami kelola, kami akan membuat file konfigurasi mandiri yang menginformasikan path perintah yang dapat dieksekusi, variabel lingkungan apa saja, cara melakukan dalam kasus shutdown.
Pertama, mari kita buat skrip sederhana yang mencatat cap waktu. Buat file bernama hello_supervisor.sh
(di mana pun Anda inginkan, kami akan mereferensikan path lengkap skrip ini).
touch hello_supervisor.sh
Sekarang, masukkan konten berikut ke dalamnya
#!/bin/bash
while true
do
# Echo current timestamp to stdout
echo Hello Supervisor: `date`
# Echo 'error!' to stderr
echo An error ocurred at `date`! >&2
sleep 1
done
Sekarang buat itu bisa dieksekusi
chmod +x hello_supervisor.sh
Secara praktis, skrip ini tidak berguna. Namun, kita dapat menggunakannya untuk menunjukkan kekuatan atasan. Buat file konfigurasi yang sesuai dengan menjalankan yang berikut ini.
sudo touch /etc/supervisor/conf.d/hello_supervisor.conf
Sekarang masukkan konten berikut ke dalam file ini.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Catatan: Pastikan untuk mengganti USER
dengan nama pengguna Anda.
Kami akan meninjau konfigurasi ini langkah demi langkah.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
Pertama, konfigurasi dimulai dengan mendefinisikan program nama hello_supervisor . Ini juga menginformasikan path lengkap dari executable yang akan dijalankan.
autostart=true
Baris ini menyatakan bahwa program ini harus dimulai secara otomatis ketika penyelia dimulai.
autorestart=true
Jika program berhenti, karena alasan apa pun, baris ini memberi tahu penyelia untuk memulai kembali proses secara otomatis.
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Baris-baris ini menentukan lokasi logfile untuk stderr
dan stdout
, masing-masing.
Sekarang kami telah menginstal dan mengkonfigurasi supervisor, kami dapat mengelola proses kami.
Setelah menambahkan program baru, kita harus menjalankan dua perintah berikut, untuk memberi tahu server untuk membaca kembali file konfigurasi dan menerapkan perubahan apa pun.
sudo supervisorctl reread
sudo supervisorctl update
Sekarang jalankan supervisorctl
klien.
sudo supervisorctl
Anda akan disambut dengan daftar proses yang terdaftar. Anda akan melihat proses yang disebut hello_supervisor
dengan RUNNING
status.
hello_supervisor RUNNING pid 6853, uptime 0:22:30
supervisor>
Ketikkan help
untuk daftar perintah yang tersedia.
supervisor> help
default commands (type help <topic>):
=====================================
add exit open reload restart start tail
avail fg pid remove shutdown status update
clear maintail quit reread signal stop version
Singkatnya, kita bisa start
, stop
dan restart
program dengan mengirimkan nama program sebagai argumen ke perintah masing-masing.
supervisor> stop hello_supervisor
hello_supervisor: stopped
supervisor> start hello_supervisor
hello_supervisor: started
supervisor> restart hello_supervisor
hello_supervisor: stopped
hello_supervisor: started
supervisor>
Kita juga bisa melihat output program dengan tail
perintah.
supervisor> tail hello_supervisor
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017
Untuk stderr
hasilnya, Anda bisa menggunakan tail
juga.
supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!
Dengan menjalankan status
perintah, Anda dapat melihat status semua program yang terdaftar.
Setelah selesai, Anda bisa berhenti.
supervisor> quit
Untuk mengizinkan akses ke server web supervisor, buka file konfigurasi supervisor dan temukan [inet_http_server]
bagian tersebut.
nano /etc/supervisor/supervisord.conf
Sekarang perbarui konfigurasi bagian ini dengan yang berikut ini.
[inet_http_server]
port=*:9001
username=your_username
password=your_password
Ganti your_username
dan your_password
dengan kredensial yang Anda inginkan, simpan modifikasi Anda dan layanan mulai ulang supervisor.
sudo systemctl restart supervisord.service
Ingatlah untuk mengizinkan TCP
akses ke port 9001
pada firewall Anda dan kemudian akses http://{server-ip}:9001
dari browser Anda. Saat ditanya, berikan username
dan password
. Anda sekarang dapat mengontrol proses Anda dari web.
Kami telah menginstal versi supervisord terbaru, mempelajari cara mengkonfigurasinya untuk sistem mulai otomatis dengan systemd dan juga meninjau penggunaan dasar supervisorctl
. Untuk konfigurasi lebih lanjut dan kasus penggunaan, Anda dapat merujuk ke dokumentasi penyelia resmi .
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut