Penerapan dan Pemeliharaan / Deployment Mesin Tunggal
Artikel ini terutama menjelaskan cara menginstal dan men-deploy DataFlux Func versi mesin tunggal secara langsung di server.
Untuk informasi tentang menginstal DataFlux Func menggunakan Helm di k8s, silakan lihat Penerapan dan Pemeliharaan / Instalasi dan Penerapan / Helm Deployment
1. Mengunduh Paket Instalasi
DataFlux Func mendukung "Paket Instalasi" yang memungkinkan file instalasi yang diperlukan diunduh terlebih dahulu, lalu dibawa ke lingkungan tanpa internet publik melalui perangkat penyimpanan bergerak seperti flashdisk USB untuk diinstal.
"Paket Instalasi" yang diunduh sudah menyertakan Skrip instalasi otomatis, Docker, dan lainnya; cukup jalankan maka instalasi dapat dilakukan (detailnya lihat di bawah).
1.1 Unduhan Perintah Satu Klik
Untuk sistem seperti Linux, macOS, dan lainnya, disarankan menggunakan perintah shell resmi untuk mengunduh paket instalasi.
Jalankan perintah berikut untuk otomatis mengunduh file instalasi yang diperlukan DataFlux Func. Skrip unduhan akan otomatis memilih versi arsitektur x86_64 atau aarch64 sesuai lingkungan saat ini:
Sebelum menginstal, pastikan persyaratan sistem dan konfigurasi server terpenuhi
| Bash | |
|---|---|
1 | |
Jika arsitektur yang perlu diunduh berbeda dengan arsitektur server tempat instalasi akhir, Anda dapat menambahkan opsi arsitektur untuk menentukan arsitektur tersebut:
| Bash | |
|---|---|
1 | |
| Bash | |
|---|---|
1 | |
Setelah perintah selesai dijalankan, semua file instalasi akan disimpan di direktori dataflux-func-portable-{arsitektur}-{versi} yang dibuat secara otomatis.
- Apabila DataFlux Func akan diinstal ke server tanpa internet publik, Anda dapat mengunduhnya terlebih dahulu di komputer lokal, lalu menyalin seluruh direktori ke mesin target melalui perangkat penyimpanan bergerak seperti flashdisk USB, atau menggunakan alat
scp. - Apabila DataFlux Func akan diinstal ke server yang memiliki akses internet publik, cukup unduh langsung di server tersebut.
1.2 Unduhan Manual
Untuk sistem yang tidak mudah menggunakan perintah shell, file instalasi yang diperlukan dapat diunduh secara manual.
Jika perlu mengunduh secara manual, berikut adalah daftar semua file:
| # | Isi | Nama File | Arsitektur x86_64 (Asli) | Arsitektur aarch64 (Asli) |
|---|---|---|---|---|
| 1 | Program Biner Docker | docker-24.0.9.tgz |
Unduh | Unduh |
| 2 | Citra DataFlux Func | dataflux-func.tar.gz |
Unduh | Unduh |
| 3 | Citra MySQL/MariaDB | mysql-5.7.26.tar.gz |
Unduh | Unduh |
| 4 | Citra Redis | redis-6.2.20.tar.gz |
Unduh | Unduh |
| 5 | File Konfigurasi Layanan Docker | docker.service |
Unduh | Unduh |
| 6 | Skrip Instalasi DataFlux Func | run-portable.sh |
Unduh | Unduh |
| 7 | Template File Konfigurasi Docker Stack | docker-stack.example.yaml |
Unduh | Unduh |
| 8 | Daftar Citra | image-list |
Unduh | Unduh |
| 9 | Informasi Versi | version |
Unduh | Unduh |
Setelah semua file instalasi diunduh secara manual, cukup letakkan di dalam direktori yang sama.
1.3 Opsi Unduhan
Saat menjalankan Skrip unduhan, Anda dapat menentukan opsi unduhan untuk memenuhi kebutuhan spesifik.
Contohnya sebagai berikut:
Perhatian: sebelum opsi unduhan yang ditentukan, terdapat satu -- (dua tanda hubung)
| Bash | |
|---|---|
1 | |
Berikut adalah opsi unduhan yang didukung:
--arch={arsitektur} Menentukan Arsitektur
Secara default, Skrip unduhan mengunduh file paket instalasi dengan arsitektur yang sama dengan mesin ini. Jika perlu mengunduh file instalasi dengan arsitektur yang berbeda, Anda dapat menentukan parameter ini.
Berikut adalah arsitektur yang dapat dipilih:
| Arsitektur | Deskripsi | Contoh Parameter |
|---|---|---|
| Intel | Prosesor 64-bit Intel / AMD | --arch=x86_64 |
| ARM | Prosesor ARM64v8 | --arch=aarch64 |
--download-dir={direktori_unduhan} Menentukan Direktori Unduhan
Ditambahkan pada versi 2.6.1
Parameter ini cocok digunakan untuk deployment DataFlux Func dengan Skrip otomatis
Skrip unduhan secara default akan membuat / mengosongkan direktori dataflux-func-portable-{arsitektur}-{nomor_versi} di direktori saat ini, dan mengunduh file instalasi ke direktori tersebut.
Jika perlu mengunduh ke direktori tertentu, Anda dapat menentukan parameter ini, misalnya:
| Bash | |
|---|---|
1 | |
2. Menjalankan Instalasi
Masuk ke direktori paket instalasi yang diunduh di atas, lalu jalankan Skrip instalasi satu klik run-portable.sh:
Sebelum menginstal, pastikan persyaratan sistem dan konfigurasi server terpenuhi
DataFlux Func tidak mendukung macOS, Windows, silakan salin ke sistem Linux lalu jalankan instalasi
| Bash | |
|---|---|
1 | |
Dengan menggunakan Skrip instalasi otomatis, Anda dapat menginstal dan menjalankan dengan cepat dalam beberapa menit. Berikut adalah konfigurasi otomatis yang dilakukan:
- Menjalankan MySQL, Redis, DataFlux Func (termasuk Server, Worker, Beat)
- Secara otomatis membuat dan menyimpan semua data di direktori
/usr/local/dataflux-func/(termasuk data MySQL, data Redis, konfigurasi DataFlux Func, file log, dll.) - Secara acak menghasilkan kata sandi pengguna
rootMySQL dan Secret sistem, lalu menyimpannya dalam file konfigurasi DataFlux Func - Redis tidak menggunakan kata sandi
- MySQL dan Redis tidak menyediakan akses eksternal
Setelah selesai, Anda dapat menggunakan browser untuk mengakses http://{alamat IP server/nama domain}:8088 untuk melakukan inisialisasi antarmuka operasi.
Jika kinerja lingkungan berjalan buruk, gunakan perintah docker ps untuk memastikan semua komponen berhasil dimulai sebelum mengaksesnya (lihat daftar di bawah ini)
dataflux-func_serverdataflux-func_worker-0dataflux-func_worker-1dataflux-func_worker-2dataflux-func_worker-3dataflux-func_worker-5dataflux-func_worker-6dataflux-func_beatdataflux-func_mysqldataflux-func_redis
dataflux-func_serverdataflux-func_worker-0dataflux-func_worker-1-6dataflux-func_worker-7dataflux-func_worker-8-9dataflux-func_beatdataflux-func_mysqldataflux-func_redis
2.1 Opsi Instalasi
Saat menjalankan Skrip instalasi, Anda dapat menentukan opsi instalasi untuk memenuhi kebutuhan khusus, misalnya:
| Bash | |
|---|---|
1 | |
--mini Menginstal Versi Mini
Mode instalasi untuk lingkungan dengan spesifikasi rendah saat perlu menghemat sumber daya.
Setelah diaktifkan:
- Hanya menjalankan satu Worker untuk mendengarkan semua antrian
- Tugas dengan beban berat lebih mudah menyebabkan antrian tersumbat dan melambat
- Tugas sistem dan tugas fungsi berbagi antrian pemrosesan sehingga dapat saling memengaruhi
- Persyaratan sistem diturunkan menjadi:
- Jumlah inti CPU >= 1
- Kapasitas memori >= 2GB
- Jika tidak menggunakan MySQL dan Redis bawaan, persyaratan sistem dapat lebih diturunkan
--port={nomor_port} Menentukan Nomor Port yang Didengarkan
Secara default, DataFlux Func diakses melalui port 8088. Jika port ini digunakan oleh program lain, Anda dapat memilih port lain, misalnya: 9000.
--install-dir={direktori_instalasi} Menentukan Direktori Instalasi
Jika perlu menginstal ke jalur yang berbeda dari jalur default /usr/local/dataflux-func, parameter ini dapat ditentukan
--no-mysql Menonaktifkan MySQL Bawaan
Jika perlu menggunakan database MySQL yang sudah ada, parameter ini dapat ditentukan untuk mencegah MySQL dimulai di mesin ini.
Setelah mengaktifkan opsi ini, Anda perlu menentukan informasi koneksi MySQL yang benar di halaman konfigurasi setelah instalasi selesai
--no-redis Menonaktifkan Redis Bawaan
Jika perlu menggunakan database Redis yang sudah ada, parameter ini dapat ditentukan untuk mencegah Redis dimulai di mesin ini.
Setelah mengaktifkan opsi ini, Anda perlu menentukan informasi koneksi Redis yang benar di halaman konfigurasi setelah instalasi selesai
--auto-setup Melakukan Konfigurasi Secara Otomatis
Ditambahkan pada versi 2.6.0
Parameter ini cocok digunakan untuk deployment DataFlux Func dengan Skrip otomatis
Setelah diaktifkan, konfigurasi dilakukan secara otomatis, database diinisialisasi, dan tidak akan ada lagi halaman konfigurasi, misalnya:
| Bash | |
|---|---|
1 | |
Selain itu, setelah mengaktifkan opsi --auto-setup, Anda juga dapat menambahkan --auto-setup-* lainnya untuk menyesuaikan konfigurasi otomatis. Opsi tambahan untuk konfigurasi otomatis adalah sebagai berikut:
| Opsi tambahan konfigurasi otomatis | Nilai default | Deskripsi |
|---|---|---|
--auto-setup-admin-username={nama_pengguna} |
admin |
Menentukan nama pengguna administrator |
--auto-setup-admin-password={kata_sandi} |
admin |
Menentukan kata sandi administrator |
--auto-setup-ak-secret={AK Secret} |
Dibuat otomatis | Membuat AK secara otomatis dan menggunakan nilai yang ditentukan sebagai AK Secret |
--auto-setup-ak-id={AK ID} |
ak-auto-setup |
AK ID saat membuat AK secara otomatis (perlu digunakan bersama opsi --auto-setup-ak-secret) |
Jika perlu mengonfigurasi secara otomatis dan menentukan kata sandi administrator sebagai AdminPass, maka perintah lengkapnya adalah sebagai berikut:
| Bash | |
|---|---|
1 | |
3. Memverifikasi Instalasi
Setelah instalasi default DataFlux Func selesai, sudah dilengkapi dengan beberapa contoh Skrip.
Lakukan operasi berikut secara berurutan untuk memverifikasi instalasi:
- Klik "Editor Skrip" di bilah navigasi atas, lalu di sisi kiri pilih secara berurutan "Pustaka Skrip" - "Contoh" - "Demo Dasar"
- Di bagian atas Editor Skrip di sisi kanan, klik "Edit" untuk masuk ke mode edit, pilih fungsi "hello_world" dan klik tombol "Jalankan" untuk menjalankan fungsi
- Saat ini, jika di "Output Skrip" di bagian bawah dapat melihat nilai pengembalian fungsi dengan normal
Sampai di sini, verifikasi instalasi selesai
3.1 Deskripsi Layanan
Secara default, setelah DataFlux Func dimulai dengan normal, ada layanan berikut yang berjalan:
Antrian #7, #8, #9 adalah antrian khusus untuk Func edisi platform data, dan berfungsi sebagai antrian cadangan di Func edisi deployment mandiri
| Nama | Deskripsi |
|---|---|
dataflux-func_server |
Layanan frontend DataFlux Func. Terutama digunakan untuk menyediakan antarmuka Web, API, dll. |
dataflux-func_worker-0 |
Unit kerja Python yang mendengarkan antrian #0, #4, #7, #8, #9. Terutama memproses tugas internal DataFlux Func (antrian #0) serta tugas lain yang salah masuk ke antrian cadangan |
dataflux-func_worker-1 |
Unit kerja Python yang mendengarkan antrian #1. Terutama memproses API Fungsi yang dieksekusi secara sinkron |
dataflux-func_worker-2 |
Unit kerja Python yang mendengarkan antrian #2. Terutama memproses Tugas Terjadwal |
dataflux-func_worker-3 |
Unit kerja Python yang mendengarkan antrian #3. Terutama memproses API Fungsi yang dieksekusi secara asinkron |
dataflux-func_worker-5 |
Unit kerja Python yang mendengarkan antrian #5. Terutama memproses tugas debugging yang menjalankan Skrip di antarmuka Web |
dataflux-func_worker-6 |
Unit kerja Python yang mendengarkan antrian #6. Terutama memproses tugas yang mengeksekusi pesan berlangganan Konektor |
dataflux-func_beat |
Pemicu Tugas Terjadwal, hanya 1 yang dapat diaktifkan secara global |
dataflux-func_mysql |
MySQL bawaan DataFlux Func |
dataflux-func_redis |
Redis bawaan DataFlux Func |
| Nama | Deskripsi |
|---|---|
dataflux-func_server |
Layanan frontend DataFlux Func. Terutama digunakan untuk menyediakan antarmuka Web, API, dll. |
dataflux-func_worker-0 |
Unit kerja Python yang mendengarkan antrian #0. Terutama memproses tugas internal DataFlux Func |
dataflux-func_worker-1-6 |
Unit kerja Python yang mendengarkan antrian #1, #2, #3, #4, #5, #6. Terutama memproses API Fungsi yang dieksekusi secara sinkron |
dataflux-func_worker-7 |
Unit kerja Python yang mendengarkan antrian #7. Terutama memproses tugas debugging yang menjalankan Skrip di antarmuka Web |
dataflux-func_worker-8-9 |
Unit kerja Python yang mendengarkan antrian #8, #9. Terutama memproses tugas asinkron (Tugas Terjadwal, dll.) |
dataflux-func_beat |
Pemicu Tugas Terjadwal, hanya 1 yang dapat diaktifkan secara global |
dataflux-func_mysql |
MySQL bawaan DataFlux Func |
dataflux-func_redis |
Redis bawaan DataFlux Func |
3.2 Lokasi Penyimpanan Data
DataFlux Func perlu menyimpan berbagai data yang berbeda untuk dapat berjalan. Secara garis besar, isi dan lokasi penyimpanannya adalah sebagai berikut:
| Penyimpanan | Jalur Penyimpanan | Isi Penyimpanan |
|---|---|---|
MySQL |
{direktori_instalasi}/mysql/ |
Sebagian besar data yang dihasilkan dari operasi UI, termasuk namun tidak terbatas pada: 1. Skrip, konfigurasi Konektor, variabel lingkungan 2. Informasi pengguna, API Fungsi, Tugas Terjadwal 3. Catatan operasi, catatan eksekusi Skrip, catatan impor/ekspor, dll. |
Redis |
{direktori_instalasi}/redis/ |
Terutama digunakan untuk cache dan antrian, termasuk namun tidak terbatas pada: 1. Informasi login pengguna 2. Berbagai cache yang dibuat saat Skrip berjalan 3. Antrian tugas eksekusi Skrip 4. Data pemantauan Func itu sendiri, dll. |
Direktori |
{direktori_instalasi}/data/ |
Terutama digunakan untuk data yang harus ada dalam bentuk file, lihat rincian di bawah ini |
Direktori |
{direktori_instalasi}/data/resources/ |
Folder sumber daya (yaitu direktori root 'Manajer File') |
Direktori |
{direktori_instalasi}/data/resources/extra-python-packages/ |
Paket pihak ketiga yang diinstal oleh alat PIP |
Direktori |
{direktori_instalasi}/data/resources/script-market/ |
Data unduhan dari Pasar Skrip |
Direktori |
{direktori_instalasi}/data/sqldump/ |
Cadangan otomatis basis data |
Direktori |
{direktori_instalasi}/data/logs/ |
Log sistem |
Berkas |
{direktori_instalasi}/data/user-config.yaml |
Konfigurasi sistem DataFlux Func |
Berkas |
/etc/dataflux-func |
Catatan direktori instalasi DataFlux Func Digunakan untuk mendapatkan lokasi instalasi DataFlux Func saat ini dengan benar saat upgrade |
4. Menggunakan Basis Data Eksternal
Saat menginstal DataFlux Func dari awal, jika perlu menggunakan basis data eksternal (MySQL, Redis), Anda dapat menentukan untuk menonaktifkan MySQL dan Redis bawaan saat menjalankan Skrip instalasi, seperti:
| Bash | |
|---|---|
1 | |
Setelah instalasi selesai, pada antarmuka pertama kali dijalankan, klik "Tampilkan Lebih Banyak Konfigurasi", lalu ubah konfigurasi MySQL dan Redis.
Untuk persyaratan konfigurasi MySQL dan Redis, silakan lihat Penerapan dan Pemeliharaan / Persyaratan Sistem
Jika perlu memigrasikan basis data DataFlux Func yang ada ke eksternal, silakan lihat Penerapan dan Pemeliharaan / Pemeliharaan Harian / Migrasi Basis Data
4. Proksi Terbalik Nginx
Anda dapat menggunakan Nginx untuk mengonfigurasi proksi terbalik.
Perlu diperhatikan bahwa DataFlux Func menggunakan teknologi WebSocket, sehingga Anda perlu menambahkan konfigurasi terkait di Nginx.
Konfigurasi referensinya adalah sebagai berikut:
| Konfigurasi Nginx | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
| Konfigurasi Nginx | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |