Menggunakan penyimpanan Azure dengan kluster Azure HDInsight
Anda dapat menyimpan data di penyimpanan Azure Blob, atau Azure Data Lake Storage Gen2. Atau kombinasi dari opsi ini. Opsi penyimpanan ini memungkinkan Anda menghapus kluster HDInsight dengan aman yang digunakan untuk komputasi tanpa kehilangan data pengguna.
Apache Hadoop mendukung gagasan tentang sistem file default. Sistem file default menyiratkan skema default dan otoritas. Ini juga dapat digunakan untuk menyelesaikan jalur relatif. Selama proses pembuatan kluster HDInsight, Anda dapat menentukan kontainer blob di Azure Storage sebagai sistem file default. Atau dengan HDInsight 3.6, Anda dapat memilih penyimpanan Azure Blob atau Azure Data Lake Storage Gen2 sebagai sistem file default dengan beberapa pengecualian.
Dalam artikel ini, Anda mempelajari cara kerja Azure Storage dengan kluster HDInsight.
- Untuk mempelajari cara kerja Data Lake Storage Gen2 dengan kluster HDInsight, lihat Menggunakan Azure Data Lake Storage Gen2 dengan kluster Azure HDInsight.
- Untuk informasi selengkapnya tentang membuat kluster HDInsight, lihat Buat kluster Apache Hadoop di HDInsight.
Penting
Jenis akun penyimpanan BlobStorage dapat digunakan sebagai penyimpanan sekunder untuk kluster HDInsight.
Jenis akun penyimpanan | Layanan yang didukung | Tingkat kinerja yang didukung | Tidak ada tingkat performa yang didukung | Tingkat akses yang didukung |
---|---|---|---|---|
StorageV2 (tujuan umum v2) | Blob | Standar | Premium | Hot, Cool, Archive* |
Storage (general-purpose v1) | Blob | Standar | Premium | T/A |
BlobStorage | Blob | Standar | Premium | Hot, Cool, Archive* |
Kami tidak menyarankan Anda menggunakan kontainer blob default untuk menyimpan data bisnis. Menghapus kontainer blob default setelah setiap penggunaan untuk mengurangi biaya penyimpanan menjadi praktik yang baik. Kontainer default berisi log aplikasi dan sistem. Pastikan untuk mengambil log sebelum menghapus kontainer.
Berbagi satu kontainer blob sebagai sistem file default untuk beberapa kluster tidak didukung.
Catatan
Tingkat akses Arsip adalah tingkat offline yang memiliki beberapa jam pengambilan latensi dan tidak disarankan untuk digunakan dengan HDInsight. Untuk informasi selengkapnya, buka Tingkat akses arsip.
Mengakses file dari dalam kluster
Catatan
Tim penyimpanan Azure telah menghentikan semua pengembangan aktif pada WASB dan merekomendasikan semua pelanggan untuk menggunakan driver ABFS untuk berinteraksi dengan Blob dan ADLS gen2. Untuk informasi selengkapnya, lihat Driver Azure Blob Filesystem (ABFS): Driver Azure Storage khusus untuk Hadoop
Penggunaan nama yang sepenuhnya memenuhi syarat. Dengan pendekatan ini, Anda menyediakan jalur lengkap ke file yang ingin Anda akses.
wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/ wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
Menggunakan format jalur yang disingkat. Dengan pendekatan ini, Anda mengganti jalur hingga akar klaster dengan:
wasb:///<file.path>/ wasbs:///<file.path>/
Menggunakan jalur relatif. Dengan pendekatan ini, Anda hanya menyediakan jalur relatif ke file yang ingin Anda akses.
/<file.path>/
Contoh akses data
Contoh didasarkan pada koneksi ssh ke simpul head kluster. Contohnya menggunakan ketiga skema URI. Mengganti CONTAINERNAME
dan STORAGEACCOUNT
dengan nilai yang relevan
Beberapa perintah hdfs
Buat file di penyimpanan lokal.
touch testFile.txt
Buat direktori pada penyimpanan klaster.
hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -mkdir wasbs:///sampledata2/ hdfs dfs -mkdir /sampledata3/
Salin data dari penyimpanan lokal ke penyimpanan klaster.
hdfs dfs -copyFromLocal testFile.txt wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -copyFromLocal testFile.txt wasbs:///sampledata2/ hdfs dfs -copyFromLocal testFile.txt /sampledata3/
Cantumkan konten direktori pada penyimpanan klaster.
hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/ hdfs dfs -ls wasbs:///sampledata2/ hdfs dfs -ls /sampledata3/
Catatan
Ketika bekerja dengan blob di luar HDInsight, sebagian besar utilitas tidak mengenali format WASB dan sebaliknya mengharapkan format jalur dasar, seperti example/jars/hadoop-mapreduce-examples.jar
.
Membuat tabel Apache Hive
Tiga lokasi file ditampilkan untuk tujuan ilustrasi. Untuk eksekusi aktual, gunakan hanya salah satu entri LOCATION
.
DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
t1 string,
t2 string,
t3 string,
t4 string,
t5 string,
t6 string,
t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/example/data/';
LOCATION 'wasbs:///example/data/';
LOCATION '/example/data/';
Mengakses file dari kluster luar
Microsoft menyediakan utilitas berikut untuk bekerja dengan Azure Storage:
Alat | Linux | OS X | Windows |
---|---|---|---|
Portal Azure | ✔ | ✔ | ✔ |
Azure CLI | ✔ | ✔ | ✔ |
Azure PowerShell | ✔ | ||
AzCopy | ✔ | ✔ |
Identifikasi jalur penyimpanan dari Ambari
Untuk mengidentifikasi jalur lengkap ke penyimpanan default yang dikonfigurasi, navigasikan ke:
HDFS>Mengonfigurasi dan memasukkan
fs.defaultFS
dalam kotak input filter.Untuk memeriksa apakah penyimpanan wasb dikonfigurasi sebagai penyimpanan sekunder, navigasikan ke:
HDFS>Mengonfigurasi dan memasukkan
blob.core.windows.net
dalam kotak input filter.
Untuk mendapatkan jalur menggunakan Ambari REST API, lihat Mendapatkan penyimpanan default.
Kontainer blob
Untuk menggunakan blob, Anda terlebih dahulu membuat akun Azure Storage. Sebagai bagian dari langkah ini, Anda menentukan wilayah Azure tempat akun penyimpanan dibuat. Kluster dan akun penyimpanan tersebut harus di-hosting di wilayah yang sama. Apache Hive metastore SQL Server database dan Apache Oozie metastore SQL Server database harus berada di wilayah yang sama.
Di mana pun blob tinggal, setiap blob yang Anda buat milik kontainer di akun Azure Storage Anda. Kontainer ini mungkin blob yang ada yang dibuat di luar HDInsight. Atau mungkin kontainer yang dibuat untuk kluster HDInsight.
Kontainer Blob default menyimpan informasi spesifik kluster seperti riwayat pekerjaan dan log. Jangan bagikan kontainer Blob default dengan beberapa kluster HDInsight. Tindakan ini dapat merusak riwayat pekerjaan. Disarankan untuk menggunakan kontainer yang berbeda untuk setiap kluster. Letakkan data bersama di akun penyimpanan tertaut yang ditentukan untuk semua kluster yang relevan daripada akun penyimpanan default. Untuk informasi selengkapnya tentang mengonfigurasi akun penyimpanan tertaut, lihat Membuat kluster HDInsight. Namun, Anda dapat menggunakan kembali kontainer penyimpanan default setelah kluster HDInsight asli telah dihapus. Untuk kluster HBase, Anda benar-benar dapat menyimpan skema tabel HBase dan data dengan membuat kluster HBase baru menggunakan kontainer blob default yang digunakan oleh kluster HBase yang dihapus
Catatan
Fitur yang memerlukan transfer aman memberlakukan semua permintaan ke akun Anda melalui koneksi yang aman. Hanya kluster HDInsight versi 3.6 atau yang lebih baru yang mendukung fitur ini. Untuk mengetahui informasi selengkapnya, lihat Membuat kluster Apache Hadoop dengan akun penyimpanan transfer aman di Azure HDInsight.
Menambahkan akun penyimpanan tambahan
Saat membuat kluster HDInsight, Anda menentukan akun Azure Storage yang ingin Anda kaitkan dengannya. Selain itu, Anda dapat menambahkan akun penyimpanan tambahan dari langganan Azure yang sama atau langganan Azure yang berbeda selama proses pembuatan atau setelah kluster dibuat. Untuk instruksi tentang menambahkan akun penyimpanan tambahan, lihat Membuat kluster HDInsight.
Peringatan
Menggunakan akun penyimpanan tambahan di lokasi yang berbeda selain kluster HDInsight tidak didukung.
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara menggunakan penyimpanan Azure yang kompatibel dengan HDInsight. Penyimpanan ini memungkinkan Anda untuk membangun adaptasi, jangka panjang, solusi akuisisi pengarsipan data dan menggunakan HDInsight untuk membuka kunci informasi di dalam data terstruktur dan tidak terstruktur yang disimpan.
Untuk informasi selengkapnya, lihat:
- Mulai cepat: Membuat kluster Apache Hadoop
- Tutorial: Membuat kluster HDInsight
- Menggunakan Azure Data Lake Storage Gen2 dengan kluster Azure HDInsight
- Mengunggah data ke HDInsight
- Tutorial: Mengekstrak, mengubah, dan memuat data dengan menggunakan Interactive Query di Azure HDInsight
- Menggunakan Azure Storage Shared Access Signatures untuk membatasi akses ke data di HDInsight