Menggunakan penyimpanan Azure dengan kluster Azure HDInsight

Anda dapat menyimpan data di Penyimpanan Azure Blob, Azure Data Lake Storage Gen1, 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 Gen1/ Azure Data Lake Storage Gen2 sebagai sistem file default dengan beberapa pengecualian. Untuk dukungan penggunaan Data Lake Storage Gen1 sebagai penyimpanan default dan tertaut, lihat Ketersediaan untuk kluster HDInsight.

Dalam artikel ini, Anda mempelajari cara kerja Azure Storage dengan kluster HDInsight.

Penting

Jenis akun penyimpanan BlobStorage dapat digunakan sebagai penyimpanan sekunder untuk kluster HDInsight.

Jenis akun penyimpanan Layanan yang didukung Tingkat performa yang didukung Tidak ada tingkat performa yang didukung Tingkat akses yang didukung
StorageV2 (general-purpose v2) Blob Standard Premium Hot, Cool, Archive*
Storage (general-purpose v1) Blob Standard Premium T/A
BlobStorage Blob Standard 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

Ada beberapa cara Anda dapat mengakses file di Data Lake Storage dari kluster HDInsight. Skema URI menyediakan akses tidak terenkripsi (dengan wasb: awalan) dan akses terenkripsi TLS (dengan wasbs). Sebaiknya gunakan wasbs sedapat mungkin, bahkan saat mengakses data yang berada di dalam wilayah yang sama di Azure.

  • Menggunakan nama yang sepenuhnya terkualifikasi. 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 root kluster 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

  1. Buat file di penyimpanan lokal.

    touch testFile.txt
    
  2. Buat direktori pada penyimpanan kluster.

    hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -mkdir wasbs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Salin data dari penyimpanan lokal ke penyimpanan kluster.

    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/
    
  4. Daftar konten direktori pada penyimpanan kluster.

    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 Microsoft 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.

Blob kontainer

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 harus dihosting 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

Penggunaan akun penyimpanan di lokasi yang berbeda dari 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: