Gunakan skrip python untuk menyebarkan kluster big data SQL Server di Azure Kubernetes Service (AKS)

Berlaku untuk: SQL Server 2019 (15.x)

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk SQL Server 2019 Kluster Big Data akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung sepenuhnya pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.

Dalam tutorial ini, Anda menggunakan contoh skrip penyebaran python untuk menyebarkan SQL Server 2019 Kluster Big Data ke Azure Kubernetes Service (AKS).

Tip

AKS hanyalah satu opsi untuk menghosting Kubernetes untuk kluster big data Anda. Untuk mempelajari tentang opsi penyebaran lain serta cara menyesuaikan opsi penyebaran, lihat Cara menyebarkan SQL Server Kluster Big Data di Kubernetes.

Penyebaran kluster big data default yang digunakan di sini terdiri dari instans SQL Master, satu instans kumpulan komputasi, dua instans kumpulan data, dan dua instans kumpulan penyimpanan. Data dipertahankan menggunakan volume persisten Kubernetes yang menggunakan kelas penyimpanan default AKS. Konfigurasi default yang digunakan dalam tutorial ini cocok untuk lingkungan dev/test.

Prasyarat

  • Langganan Azure.
  • Alat big data:
    • azdata
    • kubectl
    • Azure Data Studio
    • Ekstensi SQL Server 2019
    • Azure CLI

Masuk ke akun Azure Anda

Skrip menggunakan Azure CLI untuk mengotomatiskan pembuatan kluster AKS. Sebelum menjalankan skrip, Anda harus masuk ke akun Azure Anda dengan Azure CLI setidaknya sekali. Jalankan perintah berikut dari prompt perintah. Untuk informasi selengkapnya, lihat Masuk dengan Azure CLI.

az login

Mengunduh skrip penyebaran

Tutorial ini mengotomatiskan pembuatan kluster big data pada AKS menggunakan skrip python deploy-sql-big-data-aks.py. Jika Anda sudah menginstal python untuk azdata, Anda harus dapat menjalankan skrip dengan sukses dalam tutorial ini.

Dalam perintah Windows PowerShell atau Linux bash, jalankan perintah berikut untuk mengunduh skrip penyebaran dari GitHub.

curl -o deploy-sql-big-data-aks.py "https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/features/sql-big-data-cluster/deployment/aks/deploy-sql-big-data-aks.py"

Jalankan skrip penyebaran

Gunakan langkah-langkah berikut untuk menjalankan skrip penyebaran di permintaan bash Windows PowerShell atau Linux. Skrip ini akan membuat layanan AKS di Azure dan kemudian menyebarkan kluster big data SQL Server 2019 ke AKS. Anda juga dapat mengubah skrip dengan variabel lingkungan lain untuk membuat penyebaran kustom.

  1. Menjalankan skrip dengan menjalankan perintah berikut:

    python deploy-sql-big-data-aks.py
    

    Catatan

    Jika Anda memiliki python3 dan python2 di komputer klien Anda dan di jalur , Anda harus menjalankan perintah menggunakan python3: python3 deploy-sql-big-data-aks.py.

  2. Saat diminta, masukkan informasi berikut:

    Nilai Deskripsi
    ID langganan Azure ID langganan Azure yang akan digunakan untuk AKS. Anda dapat mencantumkan semua langganan dan ID mereka dengan menjalankan az account list dari baris perintah lain.
    Grup sumber daya Azure Nama grup sumber daya Azure yang akan dibuat untuk kluster AKS.
    Wilayah Azure Wilayah Azure untuk kluster AKS baru (westus default).
    Ukuran komputer Ukuran komputer yang digunakan untuk simpul di kluster AKS (Standard_D16s_v3 default).
    Node pekerja Jumlah simpul pekerja di kluster AKS (default 1).
    Nama kluster Nama kluster AKS dan kluster big data. Nama kluster big data Anda harus hanya karakter alfa-numerik huruf kecil, dan tanpa spasi. (sqlbigdata default).
    Password Kata sandi untuk pengontrol, gateway HDFS/Spark, dan instans master (default MySQLBigData2019).
    Username Nama pengguna untuk pengguna pengontrol (default: admin).

    Penting

    Ukuran komputer Standard_D16s_v3 default mungkin tidak tersedia di setiap wilayah Azure. Jika Anda memilih ukuran komputer yang berbeda, pastikan bahwa jumlah total disk yang dapat dilampirkan di seluruh simpul dalam kluster lebih besar dari atau sama dengan 24. Setiap klaim volume persisten dalam kluster memerlukan disk yang terpasang. Saat ini, kluster big data memerlukan 24 klaim volume persisten.

    Jalankan perintah berikut untuk mengidentifikasi jenis VM yang tersedia.

    az vm list-sizes --query "sort_by(@,&name)[?contains(name,'Standard_D16s')]" -l westus2 -o table
    

    Catatan

    Akun SQL Server sa dinonaktifkan selama penyebaran kluster big data. Login sysadmin baru disediakan dalam instans master SQL Server dengan nama yang sama yang ditentukan untuk input Nama Pengguna dan kata sandi yang sesuai dengan input Kata Sandi. Nilai Nama Pengguna dan Kata Sandi yang sama digunakan untuk menyediakan pengguna admin pengontrol. Pada kluster yang disebarkan sebelum SQL Server 2019 CU5, satu-satunya pengguna yang didukung untuk gateway (Knox) adalah root dan kata sandinya sama seperti di atas.

    Dimulai dengan SQL Server 2019 (15.x) CU 5, saat Anda menyebarkan kluster baru dengan autentikasi dasar semua titik akhir termasuk penggunaan AZDATA_USERNAME gateway dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus digunakan root sebagai nama pengguna untuk menyambungkan ke titik akhir gateway. Perubahan ini tidak berlaku untuk penyebaran menggunakan autentikasi Direktori Aktif. Lihat Kredensial untuk mengakses layanan melalui titik akhir gateway dalam catatan rilis.

  3. Skrip akan dimulai dengan membuat kluster AKS menggunakan parameter yang Anda tentukan. Langkah ini membutuhkan waktu beberapa menit.

Memantau status

Setelah skrip membuat kluster AKS, skrip melanjutkan untuk mengatur variabel lingkungan yang diperlukan dengan pengaturan yang Anda tentukan sebelumnya. Kemudian memanggil azdata untuk menyebarkan kluster big data di AKS.

Jendela perintah klien akan menghasilkan status penyebaran. Selama proses penyebaran, Anda akan melihat serangkaian pesan di mana ia menunggu pod pengontrol:

2018-11-15 15:42:02.0209 UTC | INFO | Waiting for controller pod to be up...

Setelah 10 hingga 20 menit, Anda harus diberi tahu bahwa pod pengontrol sedang berjalan:

2018-11-15 15:50:50.0300 UTC | INFO | Controller pod is running.
2018-11-15 15:50:50.0585 UTC | INFO | Controller Endpoint: https://111.111.111.111:30080

Penting

Seluruh penyebaran dapat memakan waktu lama karena waktu yang diperlukan untuk mengunduh gambar kontainer untuk komponen kluster big data. Namun, seharusnya tidak memakan waktu beberapa jam. Jika Anda mengalami masalah dengan penyebaran Anda, lihat Memantau dan memecahkan masalah Kluster Big Data SQL Server.

Memeriksa kluster

Kapan saja selama penyebaran, Anda dapat menggunakan kubectl atau azdata untuk memeriksa status dan detail tentang kluster big data yang sedang berjalan.

Gunakan kubectl

Buka jendela perintah baru untuk menggunakan kubectl selama proses penyebaran.

  1. Jalankan perintah berikut untuk mendapatkan ringkasan status seluruh kluster:

    kubectl get all -n <your-big-data-cluster-name>
    

    Tip

    Jika Anda tidak mengubah nama kluster big data, skrip default menjadi sqlbigdata.

  2. Periksa layanan kubernetes dan titik akhir internal dan eksternalnya dengan perintah kubectl berikut:

    kubectl get svc -n <your-big-data-cluster-name>
    
  3. Anda juga dapat memeriksa status pod kubernetes dengan perintah berikut:

    kubectl get pods -n <your-big-data-cluster-name>
    
  4. Cari tahu informasi selengkapnya tentang pod tertentu dengan perintah berikut:

    kubectl describe pod <pod name> -n <your-big-data-cluster-name>
    

Tip

Untuk detail selengkapnya tentang cara memantau dan memecahkan masalah penyebaran, lihat Memantau dan memecahkan masalah Kluster Big Data SQL Server.

Menyambungkan ke kluster

Ketika skrip penyebaran selesai, output memberi tahu Anda tentang keberhasilan:

2018-11-15 16:10:25.0583 UTC | INFO | Cluster state: Ready
2018-11-15 16:10:25.0583 UTC | INFO | Cluster deployed successfully.

Kluster big data SQL Server sekarang disebarkan di AKS. Sekarang Anda dapat menggunakan Azure Data Studio untuk menyambungkan ke kluster. Untuk informasi selengkapnya, lihat Koneksi ke kluster big data SQL Server dengan Azure Data Studio.

Penghapusan

Jika Anda menguji Kluster Big Data SQL Server di Azure, Anda harus menghapus kluster AKS setelah selesai untuk menghindari biaya yang tidak terduga. Jangan hapus kluster jika Anda ingin terus menggunakannya.

Peringatan

Langkah-langkah berikut merobek kluster AKS yang menghapus kluster big data SQL Server juga. Jika Anda memiliki database atau data HDFS yang ingin Anda simpan, cadangkan data tersebut sebelum menghapus kluster.

Jalankan perintah Azure CLI berikut untuk menghapus kluster big data dan layanan AKS di Azure (ganti <resource group name> dengan grup sumber daya Azure yang Anda tentukan dalam skrip penyebaran):

az group delete -n <resource group name>