Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Penyelia adalah sistem pelanggan / pelayan yang digunakan untuk mengawal sejumlah proses UNIX, lebih khusus proses yang berkaitan dengan projek atau pelanggan. Sebagai contoh, anda boleh menggunakan penyelia untuk menelurkan dan memantau sebilangan besar barisan pekerja dari aplikasi web anda.
Komponen sistem ini adalah:
Dalam tutorial ini kami akan memasang versi penyelia yang paling terkini, menunjukkan cara menelurkan dan mengurus program supervisorctl
, dan mengkonfigurasi antara muka web untuk menguruskan program kami.
Kami akan memasang penyelia melalui easy_install
, ciri-ciri python setuptools.
Pertama, kemas kini senarai pakej tempatan anda dan kemudian pasang python setuptools
.
sudo apt-get update && sudo apt-get install python-setuptools
Sekarang kita boleh memasang penyelia.
sudo easy_install supervisor
Setelah pemasangan selesai, kita harus menghasilkan fail konfigurasi kita. Buat folder bernama supervisor
di dalam /etc
.
sudo mkdir /etc/supervisor
Dan kemudian laksanakan perkara berikut.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Sekiranya anda tidak log masuk dengan root
pengguna, anda mungkin mendapat Permission denied
ralat (walaupun dengan sudo
). Ini disebabkan pengalihan semula. Untuk mengatasi ini, log masuk sebagai root.
sudo su
Kemudian anda boleh menjalankan perintah itu lagi.
echo_supervisord_conf > /etc/supervisor/supervisord.conf
Anda kini boleh meninggalkan root
pengguna dengan exit
arahan. The echo_supervisord_conf
arahan telah disediakan oleh pemasangan penyelia kami.
Buka /etc/supervisor/supervisord.conf
fail dan periksa kandungannya. Anda akan perhatikan bahawa fail konfigurasi ini mengikuti INI
sintaks, dan dibahagikan dengan bahagian (ditunjukkan dengan tanda kurung seperti dalam [section-name]
).
Untuk menambah program yang akan dikendalikan oleh penyelia, kita hanya perlu membuat bahagian yang sesuai [program]
. Namun, untuk mengelakkan masalah dengan fail konfigurasi utama setiap kali kita perlu menambahkan (atau mengubah) program, kita akan menggunakan [include]
bahagian tersebut. Cari bahagian ini, tanggalkan dan kemudian edit sehingga kelihatan seperti berikut.
[include]
files=conf.d/*.conf
Sekarang untuk setiap program yang ingin kita tambahkan, kita akan membuat .ini
fail di dalam /etc/supervisor/conf.d/
direktori. Mari buat folder ini.
sudo mkdir /etc/supervisor/conf.d
Seperti yang dinyatakan sebelum ini, penyelia terdiri daripada pelayan dan klien yang menghubungkannya. Untuk dapat mengurus dan mengawal program, kita perlu memulakan pelayan. Untuk melakukannya, kami akan mendaftarkan pelayan penyelia systemd
agar pelayan dapat dimulakan pada permulaan sistem.
Untuk melakukannya, buat fail yang dipanggil supervisord.service
dalam /etc/systemd/system
direktori.
sudo touch /etc/systemd/system/supervisord.service
Tambahkan kandungan berikut ke fail.
[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 perkhidmatan penyelia.
sudo systemctl start supervisord.service
Selagi fail perkhidmatan berada di dalam /etc/systemd/system
direktori, ia akan dimulakan secara automatik pada permulaan sistem.
Anda boleh menyemak status perkhidmatan.
systemctl status supervisord.service
Anda juga boleh melihat lognya.
sudo journalctl -u supervisord.service
Program yang dikendalikan oleh penyelia diberikan oleh [program]
bahagian yang berbeza dalam konfigurasi. Untuk setiap program yang ingin kami kelola, kami akan membuat file konfigurasi yang berdiri sendiri yang memaklumkan jalan yang dapat dijalankan perintah, apa-apa pemboleh ubah persekitaran, bagaimana melakukan sekiranya terjadi penutupan.
Pertama, mari buat skrip mudah yang mencatatkan cap waktu. Buat fail yang dipanggil hello_supervisor.sh
(di mana sahaja anda mahu, kami akan merujuk jalan lengkap skrip ini).
touch hello_supervisor.sh
Sekarang, masukkan isi 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 jadikan ia boleh dilaksanakan
chmod +x hello_supervisor.sh
Secara praktiknya skrip ini tidak berguna lagi. Namun, kita dapat menggunakannya untuk menunjukkan kekuatan penyelia. Buat fail konfigurasi yang sesuai dengan menjalankan perkara berikut.
sudo touch /etc/supervisor/conf.d/hello_supervisor.conf
Sekarang masukkan kandungan berikut ke dalam fail 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 anda mengganti USER
dengan nama pengguna anda.
Kami akan mengkaji konfigurasi ini langkah demi langkah.
[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
Pertama, konfigurasi dimulakan dengan menentukan program nama hello_supervisor . Ia juga memberi tahu jalan penuh yang dapat dijalankan untuk dijalankan.
autostart=true
Garis ini menyatakan bahawa program ini harus dimulakan secara automatik semasa penyelia dimulakan.
autorestart=true
Sekiranya program berhenti, atas sebab apa pun, baris ini memberitahu penyelia untuk memulakan semula proses secara automatik.
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log
Garis-garis ini menentukan lokasi log untuk stderr
dan stdout
masing-masing.
Setelah kita memasang dan mengkonfigurasi penyelia, kita dapat menguruskan proses kita.
Setelah menambahkan program baru, kita harus menjalankan dua perintah berikut, untuk memberi tahu pelayan untuk membaca kembali file konfigurasi dan untuk menerapkan perubahan.
sudo supervisorctl reread
sudo supervisorctl update
Sekarang jalankan supervisorctl
klien.
sudo supervisorctl
Anda akan disambut dengan senarai proses yang didaftarkan. Anda akan melihat proses yang dipanggil hello_supervisor
dengan RUNNING
status.
hello_supervisor RUNNING pid 6853, uptime 0:22:30
supervisor>
Taipkan help
senarai arahan 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 dapat start
, stop
dan restart
program dengan menyampaikan nama program sebagai argumen kepada 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 dapat 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
outputnya, anda juga boleh menggunakan tail
.
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 menggunakan status
perintah, anda dapat melihat status semua program yang didaftarkan.
Setelah selesai, anda boleh berhenti.
supervisor> quit
Untuk membenarkan akses ke pelayan web penyelia, buka fail konfigurasi penyelia dan cari [inet_http_server]
bahagian tersebut.
nano /etc/supervisor/supervisord.conf
Sekarang kemas kini konfigurasi bahagian ini dengan yang berikut.
[inet_http_server]
port=*:9001
username=your_username
password=your_password
Ganti your_username
dan your_password
dengan kelayakan yang anda inginkan, simpan pengubahsuaian anda dan mulakan semula perkhidmatan penyelia.
sudo systemctl restart supervisord.service
Ingatlah untuk membenarkan TCP
akses ke port 9001
di firewall anda dan kemudian akses http://{server-ip}:9001
dari penyemak imbas anda. Apabila ditanya, berikan username
dan password
. Anda kini dapat mengawal proses anda dari web.
Kami telah memasang versi supervisord yang paling terkini, belajar bagaimana mengkonfigurasinya untuk memulakan sistem secara automatik dengan systemd dan juga mengkaji penggunaan asas supervisorctl
. Untuk kes konfigurasi dan penggunaan yang lebih maju, anda boleh merujuk kepada dokumentasi penyelia rasmi .
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut