Gunakan azdata distcp untuk melakukan pergerakan data antara SQL Server kluster big data
Berlaku untuk: SQL Server 2019 (15.x)
Penting
Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk Kluster Big Data SQL Server 2019 akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung penuh 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.
Artikel ini menjelaskan cara menggunakan azdata untuk melakukan salinan data terdistribusi berkinerja tinggi antara SQL Server Kluster Big Data.
Prasyarat
- Azure Data Studio
- azdata versi 20.3.8 atau lebih unggul
- Dua SQL Server kluster big data CU13 atau unggul
Pengantar salinan data terdistribusi di SQL Server Kluster Big Data
Hadoop HDFS DistCP adalah alat baris perintah yang digunakan untuk melakukan salinan paralel file dan folder terdistribusi dari satu kluster HDFS ke kluster lainnya. Penyalinan paralel terdistribusi memungkinkan transfer cepat file dan folder skala Data Lake antara dua kluster yang berbeda, memungkinkan migrasi, pembuatan lingkungan tersegmentasi, ketersediaan tinggi, dan skenario pemulihan bencana.
Hadoop HDFS DistCP menggunakan pekerjaan MapReduce internal untuk memperluas daftar file dan direktori ke dalam input ke beberapa tugas peta, yang masing-masing akan menyalin partisi file yang ditentukan dalam daftar sumber ke tujuan. Ini memungkinkan beberapa simpul data di kluster sumber untuk mengirim data langsung ke beberapa simpul data di kluster tujuan, membuat skenario salinan paralel yang benar-benar terdistribusi.
Pada SQL Server Kluster Big Data CU13 ke atas, fungsionalitas salinan terdistribusi diintegrasikan ke dalam produk dan diekspos melalui perintah azdata bdc hdfs distcp. Perintah adalah operasi asinkron, segera kembali saat pekerjaan penyalinan dijalankan di latar belakang. Pantau pekerjaan penyalinan menggunakan antarmuka azdata
pengguna pemantauan yang disediakan.
Hanya sumber dan tujuan SQL Server Kluster Big Data yang didukung.
Kluster dapat disebarkan dalam mode aktif Direktori Aktif atau mode keamanan dasar. Salinan dapat dilakukan di antara kombinasi mode keamanan apa pun. Untuk kluster yang diaktifkan Direktori Aktif, diperlukan bahwa kluster tersebut berada di domain yang sama.
Dalam panduan ini kita akan membahas skenario salinan data berikut:
- Kluster yang diaktifkan Active Directory ke kluster yang diaktifkan Active Directory
- Kluster keamanan dasar ke kluster yang diaktifkan Direktori Aktif
- Kluster keamanan dasar ke kluster keamanan dasar
Langkah-langkah yang diperlukan untuk semua skenario
Sertifikat diperlukan untuk membuat hubungan tepercaya antara kluster sumber dan tujuan. Langkah-langkah ini hanya diperlukan sekali per kombinasi kluster sumber/tujuan.
Penting
Jika SQL Server kluster big data dengan autentikasi dasar (non-AD) langsung ditingkatkan ke CU13 atau lebih tinggi, fungsionalitas distcp memerlukan aktivasi. (Ini tidak memengaruhi penyebaran kluster CU13+ baru dengan autentikasi dasar.)
Untuk mengaktifkan fungsionalitas distcp dalam skenario ini, jalankan langkah-langkah tambahan berikut sekali:
kubectl -n $CLUSTER_NAME exec -it nmnode-0-0 -- bash
export HADOOP_USER_NAME=hdfs
hadoop fs -mkdir -p /tmp/hadoop-yarn/staging/history
hadoop fs -chown yarn /tmp/hadoop-yarn
hadoop fs -chown yarn /tmp/hadoop-yarn/staging
hadoop fs -chown yarn /tmp/hadoop-yarn/staging/history
hadoop fs -chmod 733 /tmp/hadoop-yarn
hadoop fs -chmod 733 /tmp/hadoop-yarn/staging
hadoop fs -chmod 733 /tmp/hadoop-yarn/staging/history
Notebook yang diperlukan di langkah berikutnya adalah bagian dari Notebook operasional untuk SQL Server Kluster Big Data. Untuk informasi selengkapnya cara menginstal dan menggunakan buku catatan, lihat Buku catatan operasional
Langkah 1 - Pembuatan dan penginstalan sertifikat
Sambungkan ke kluster sumber Anda menggunakan Azure Data Studio. Di sinilah file akan disalin. Lakukan langkah berikut:
Membuat sertifikat akar kluster baru di kluster sumber menggunakan notebook
cer001-create-root-ca.ipynb
Unduh sertifikat akar kluster baru ke komputer Anda menggunakan
cer002-download-existing-root-ca.ipynb
Instal sertifikat akar baru ke kluster sumber menggunakan
cer005-install-existing-root-ca.ipynb
. Langkah ini akan memakan waktu 10-15 menit.Hasilkan sertifikat knox baru pada kluster sumber
cer021-create-knox-cert.ipynb
Tanda tangani dengan sertifikat knox baru dengan sertifikat akar baru menggunakan
cer031-sign-knox-generated-cert.ipynb
Instal sertifikat knox baru pada kluster sumber menggunakan
cer041-install-knox-cert.ipynb
Penting
Perintah pembuatan sertifikat akan membuat file CA akar (
cluster-ca-certificate.crt
) dan file sertifikat Knox (cacert.pem
) di"C:\Users\{Username}\AppData\Local\Temp\1\mssql-cluster-root-ca\"
pada Windows dan"/tmp/mssql-cluster-root-ca/
di Unix.
Langkah 2 - Penginstalan sertifikat di tujuan
Sambungkan ke kluster tujuan Anda menggunakan Azure Data Studio. Di sinilah file akan disalin. Lakukan langkah berikut:
Peringatan
Jika Anda menggunakan Azure Data Studio di komputer yang berbeda untuk melakukan tugas ini, salin cluster-ca-certificate.crt
file dan cacert.pem
yang dihasilkan pada Langkah 1 ke lokasi yang tepat di komputer lain sebelum menjalankan buku catatan di langkah berikutnya.
- Instal sertifikat akar baru dari kluster sumber ke kluster tujuan menggunakan
cer005-install-existing-root-ca.ipynb
. Langkah ini akan memakan waktu 10-15 menit.
Langkah 3 - Pembuatan file keytab
Anda perlu membuat file keytab jika salah satu kluster diaktifkan Direktori Aktif. File akan melakukan autentikasi untuk mengaktifkan salinan yang akan berlangsung.
Buat file keytab menggunakan ktutil
. Contohnya adalah sebagai berikut. Pastikan untuk menentukan atau mengganti variabel DOMAIN_SERVICE_ACCOUNT_USERNAME
lingkungan , , DOMAIN_SERVICE_ACCOUNT_PASSWORD
dan REALM
dengan nilai yang sesuai.
ktutil
> add_entry -password -p $DOMAIN_SERVICE_ACCOUNT_USERNAME@$REALM -k 1 -e arcfour-hmac-md5
$DOMAIN_SERVICE_ACCOUNT_PASSWORD
> add_entry -password -p $DOMAIN_SERVICE_ACCOUNT_USERNAME@$REALM -k 1 -e aes256-cts
$DOMAIN_SERVICE_ACCOUNT_PASSWORD
> add_entry -password -p $DOMAIN_SERVICE_ACCOUNT_USERNAME@$REALM -k 1 -e aes256-cts-hmac-sha1-96
$DOMAIN_SERVICE_ACCOUNT_PASSWORD
> wkt /tmp/$DOMAIN_SERVICE_ACCOUNT_USERNAME.keytab
> exit
Langkah 4 - Salin tab kunci ke lokasi HDFS
Langkah ini hanya diperlukan jika salah satu kluster diaktifkan.
Pastikan untuk menentukan atau mengganti variabel DOMAIN_SERVICE_ACCOUNT_USERNAME
lingkungan dengan nilai yang sesuai.
Unggah tab kunci ke tujuan (kluster aman):
azdata bdc hdfs mkdir -p /user/$DOMAIN_SERVICE_ACCOUNT_USERNAME
azdata bdc hdfs cp -f /tmp/$DOMAIN_SERVICE_ACCOUNT_USERNAME.keytab -t /user/$DOMAIN_SERVICE_ACCOUNT_USERNAME/$DOMAIN_SERVICE_ACCOUNT_USERNAME.keytab
Skenario penyalinan data
Skenario 1 - Kluster yang diaktifkan Direktori Aktif ke kluster yang diaktifkan Direktori Aktif
Ekspor variabel
DISTCP_KRB5KEYTAB
lingkungan yang diperlukan :export DISTCP_KRB5KEYTAB=/user/$DOMAIN_SERVICE_ACCOUNT_USERNAME/$DOMAIN_SERVICE_ACCOUNT_USERNAME.keytab
Tentukan atau ganti
CLUSTER_CONTROLLER
variabel ,DESTINATION_CLUSTER_NAMESPACE
, danPRINCIPAL
dengan vales yang sesuai. Kemudian gunakanazdata
untuk mengautentikasi ke kluster tujuan:azdata login --auth ad --endpoint $CLUSTER_CONTROLLER --namespace $DESTINATION_CLUSTER_NAMESPACE --principal $PRINCIPAL
Jalankan salinan data terdistribusi:
azdata bdc hdfs distcp submit -f https://knox.$CLUSTER_NAME.$DOMAIN:30443/file.txt -t /file.txt
Skenario 2 - Kluster keamanan dasar ke kluster yang diaktifkan Direktori Aktif
Ekspor variabel
DISTCP_KRB5KEYTAB
lingkungan yang diperlukan ,DISTCP_AZDATA_USERNAME
, danDISTCP_AZDATA_PASSWORD
:export DISTCP_KRB5KEYTAB=/user/$DOMAIN_SERVICE_ACCOUNT_USERNAME/$DOMAIN_SERVICE_ACCOUNT_USERNAME.keytab export DISTCP_AZDATA_USERNAME=<your basic security bdc username> export DISTCP_AZDATA_PASSWORD=<your basic security bdc password>
Tentukan atau ganti
CLUSTER_CONTROLLER
variabel ,DESTINATION_CLUSTER_NAMESPACE
, danPRINCIPAL
dengan vales yang sesuai. Kemudian gunakanazdata
untuk mengautentikasi ke kluster tujuan:azdata login --auth ad --endpoint $CLUSTER_CONTROLLER --namespace $DESTINATION_CLUSTER_NAMESPACE --principal $PRINCIPAL
Menjalankan salinan data terdistribusi
azdata bdc hdfs distcp submit --from-path https://$SOURCE_CLUSTER_IP:30443/file.txt --to-path /file.txt
Skenario 3 - Kluster keamanan dasar ke kluster keamanan dasar
Ekspor variabel
DISTCP_AZDATA_USERNAME
lingkungan yang diperlukan danDISTCP_AZDATA_PASSWORD
:export DISTCP_AZDATA_USERNAME=<your basic security bdc username> export DISTCP_AZDATA_PASSWORD=<your basic security bdc password>
Gunakan
azdata
untuk mengautentikasi ke kluster tujuanMenjalankan salinan data terdistribusi
azdata bdc hdfs distcp submit --from-path https://$SOURCE_CLUSTER_IP:30443/file.txt --to-path /file.txt
Memantau pekerjaan salinan terdistribusi
Perintah azdata bdc hdfs distcp submit
adalah operasi asinkron, segera kembali saat pekerjaan penyalinan berjalan di latar belakang. Pantau pekerjaan penyalinan menggunakan antarmuka azdata
pengguna pemantauan yang disediakan.
Mencantumkan semua pekerjaan salinan terdistribusi
azdata bdc hdfs distcp list
Perhatikan pekerjaan anda job-id
dan untuk melacak. Semua perintah lainnya bergantung padanya.
Mendapatkan status pekerjaan salinan terdistribusi
azdata bdc hdfs distcp state [--job-id | -i] <JOB_ID>
Mendapatkan status lengkap pekerjaan salinan terdistribusi
azdata bdc hdfs distcp status [--job-id | -i] <JOB_ID>
Mendapatkan log pekerjaan salinan terdistribusi
azdata bdc hdfs distcp log [--job-id | -i] <JOB_ID>
Petunjuk salinan terdistribusi
Untuk menyalin seluruh direktori dan kontennya, akhiri argumen jalur dengan direktori, tanpa '/'. Contoh berikut menyalin seluruh
sourceDirectories
direktori ke tujuan HDFS akar:azdata bdc hdfs distcp submit --from-path https://$SOURCE_CLUSTER_IP:30443/sourceDirectories --to-path /
Perintah mungkin berisi opsi, mendukung
--overwrite
pengubah , ,--preserve
--update
, dan--delete
. Pengubah harus ditempatkan tepat setelah kata kunci kirim, seperti di bawah ini:azdata bdc hdfs distcp submit {options} --from-path https://$SOURCE_CLUSTER_IP:30443/sourceDirectories --to-path /
Langkah berikutnya
Untuk informasi selengkapnya, lihat Memperkenalkan SQL Server Kluster Big Data.
Untuk referensi lengkap perintah baru, lihat azdata bdc hdfs distcp.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk