SSH node terhubung ke host jarak jauh melalui sumber data SSH yang telah ditentukan dan menjalankan skrip Shell di host tersebut sesuai jadwal berulang. Fitur ini memungkinkan Anda memicu skrip pada server jarak jauh—seperti Instance Elastic Compute Service (ECS)—langsung dari alur kerja DataWorks tanpa perlu login secara manual.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Pengguna RAM yang ditambahkan ke ruang kerja Anda dengan peran Develop atau Workspace Administrator. Peran Workspace Administrator memiliki izin lebih banyak daripada yang diperlukan. Berhati-hatilah saat memberikan peran ini. Lihat Tambahkan anggota ruang kerja dan tetapkan peran kepada mereka.
-
Kelompok sumber daya arsitektur tanpa server yang dikaitkan dengan ruang kerja Anda. Lihat Gunakan kelompok sumber daya arsitektur tanpa server.
-
SSH node yang telah dibuat. Lihat Buat tugas yang dipicu otomatis.
-
Sumber data SSH yang dibuat menggunakan mode string koneksi Java Database Connectivity (JDBC) dan terhubung ke kelompok sumber daya yang benar. Lihat Buat sumber data SSH.
Batasan
| Batasan | Detail |
|---|---|
| Ukuran kode | Skrip dalam SSH node tidak boleh melebihi 128 KB. |
| Sintaksis Shell | Hanya mendukung sintaksis Shell standar. Sintaksis Shell interaktif tidak didukung. |
| Mode sumber data | Hanya sumber data SSH yang dibuat menggunakan mode string koneksi JDBC yang didukung. |
Catatan penggunaan
Proses jarak jauh yang terputus: Jika tugas SSH node berhenti secara tidak terduga—misalnya karena timeout—proses di host jarak jauh tetap berjalan. DataWorks tidak mengirimkan perintah terminasi ke host jarak jauh.
File temporary: Menjalankan skrip pada Instance ECS menghasilkan file temporary di instans tersebut. Pastikan instans memiliki ruang disk yang cukup dan jumlah file tetap berada dalam batas instans.
Konflik file: Hindari menjalankan beberapa tugas yang mengoperasikan file yang sama secara bersamaan. Penulisan konkuren ke file yang sama dapat menyebabkan exception pada SSH node.
Langkah 1: Kembangkan SSH node
Pilih sumber data SSH
Jika ruang kerja Anda memiliki beberapa sumber data SSH, pilih salah satu yang ingin digunakan pada tab konfigurasi SSH node. Jika hanya tersedia satu sumber data SSH, maka akan dipilih secara otomatis.
Pastikan sumber data yang dipilih terhubung ke kelompok sumber daya yang benar untuk mencegah kegagalan tugas.
Tulis skrip
Tulis skrip Anda di editor kode. SSH node akan menjalankan skrip tersebut di host jarak jauh saat tugas dipicu.
Contoh: Skrip dasar
Contoh berikut membuat file di host jarak jauh dan menjalankannya.
# Buat hello.sh di direktori /tmp host jarak jauh.
echo "echo hello,dataworks" >/tmp/hello.sh
# Jalankan file tersebut.
sh /tmp/hello.sh
Contoh: Skrip dengan parameter penjadwalan
Scheduling Parameters memungkinkan Anda menyisipkan nilai dinamis ke dalam skrip saat waktu proses. Definisikan variabel dalam skrip menggunakan ${variable_name}, lalu tetapkan nilainya di Scheduling Configuration > Scheduling Parameters pada panel kanan.
Contoh berikut menulis waktu eksekusi harian SSH node ke file log. Variabel ${myDate} diberi nilai parameter penjadwalan $[yyyy-mm-dd hh24:mi:ss].
# Tulis waktu eksekusi ke /tmp/sshnode.log.
echo ${myDate} >/tmp/sshnode.log
cat /tmp/sshnode.log
Untuk format variabel yang didukung, lihat Konfigurasi penjadwalan.
Konfigurasikan properti penjadwalan
Setelah menulis skrip, konfigurasikan properti penjadwalan agar tugas SSH dijalankan sesuai jadwal berulang. Untuk detailnya, lihat Konfigurasi penjadwalan.
Langkah 2: Deploy dan pantau node
-
Kirim dan publikasikan SSH node ke lingkungan produksi. Untuk detailnya, lihat Publikasikan node atau alur kerja.
-
Setelah dipublikasikan, tugas akan berjalan secara otomatis berdasarkan konfigurasi penjadwalan Anda. Untuk melihat dan mengelola tugas tersebut, buka . Untuk detailnya, lihat Memulai Operation Center.
Langkah berikutnya
Untuk mengatur load balancing dan ketersediaan tinggi untuk SSH node, lihat Implementasikan load balancing dan ketersediaan tinggi untuk SSH node.