Azure HDInsight kümeleri ile Azure Depolama'yı kullanma

Verileri Azure Blob depolama, Azure Data Lake Storage 1. Nesil veya Azure Data Lake Storage 2. Nesil depolayabilirsiniz. Ya da bu seçeneklerin birleşimi. Bu depolama seçenekleri, kullanıcı verilerini kaybetmeden hesaplama için kullanılan HDInsight kümelerini güvenli bir şekilde silmenizi sağlar.

Apache Hadoop, varsayılan dosya sistemi bildirimini destekler. Varsayılan dosya sistemi varsayılan şema ve yetkilisi anlamına gelir. Bu göreceli yolları çözümlemek için de kullanılabilir. HDInsight kümesi oluşturma işlemi sırasında Azure Depolama'da varsayılan dosya sistemi olarak bir blob kapsayıcısı belirtebilirsiniz. HdInsight 3.6 ile azure blob depolamayı veya birkaç özel durum dışında varsayılan dosya sistemi olarak Azure Data Lake Storage 1. Nesil/ Azure Data Lake Storage 2. Nesil seçebilirsiniz. Data Lake Storage 1. Nesil hem varsayılan hem de bağlı depolama olarak kullanmanın desteklenebilirliği için bkz. HDInsight kümesi için kullanılabilirlik.

Bu makalede Azure Depolama'nın HDInsight kümeleri ile nasıl çalıştığı hakkında bilgi edinebilirsiniz.

Önemli

Depolama hesabı türü BlobStorage yalnızca HDInsight kümeleri için ikincil depolama alanı olarak kullanılabilir.

Depolama hesabı türü Desteklenen hizmetler Desteklenen performans katmanları Desteklenmeyen performans katmanları Desteklenen erişim katmanları
StorageV2 (genel amaçlı v2) Blob Standart Premium Sık Erişimli, Seyrek Erişimli, Arşiv*
Depolama (genel amaçlı v1) Blob Standart Premium Yok
BlobStorage Blob Standart Premium Sık Erişimli, Seyrek Erişimli, Arşiv*

İş verilerini depolamak için varsayılan blob kapsayıcısını kullanmanızı önermiyoruz. Depolama maliyetini azaltmak için blob kapsayıcısının her kullanımdan sonra silinmesi iyi bir uygulamadır. Varsayılan kapsayıcı uygulama ve sistem günlüklerini içerir. Kapsayıcıyı silmeden önce günlükleri aldığınızdan emin olun.

Birden çok küme için bir blob kapsayıcısının varsayılan dosya sistemi olarak paylaşılması desteklenmez.

Not

Arşiv erişim katmanı, birkaç saatlik alma gecikme süresi olan ve HDInsight ile kullanılması önerilmez çevrimdışı bir katmandır. Daha fazla bilgi için bkz . Arşiv erişim katmanı.

Küme içinden dosyalara erişme

HDInsight kümesinden Data Lake Storage dosyalara erişmenin çeşitli yolları vardır. URI şeması, şifrelenmemiş erişim ( wasb: ön eki ile) ve TLS şifrelenmiş erişimi ( wasbs ile) sağlar. Azure’da aynı bölgede bulunan verilere erişirken dahi mümkün olduğunda wasbs kullanmanızı öneririz.

  • Tam adı kullanarak. Bu yöntemle, erişmek istediğiniz dosyanın tam yolunu girersiniz.

    wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    
  • Kısaltılmış yol biçimi kullanarak. Bu yaklaşımla, küme köküne kadar olan yolu şununla değiştirirsiniz:

    wasb:///<file.path>/
    wasbs:///<file.path>/
    
  • Göreli yolu kullanarak. Bu yöntemle, erişmek istediğiniz dosyanın yalnızca göreli yolunu girersiniz.

    /<file.path>/
    

Veri erişim örnekleri

Örnekler, kümenin baş düğümüne yönelik ssh bağlantısını temel alır. Örneklerde üç URI şeması da kullanılır. ve STORAGEACCOUNT değerlerini ilgili değerlerle değiştirin CONTAINERNAME

Birkaç hdfs komutu

  1. Yerel depolamada bir dosya oluşturun.

    touch testFile.txt
    
  2. Küme depolamada dizinler oluşturun.

    hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -mkdir wasbs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Verileri yerel depolamadan küme depolama alanına kopyalayın.

    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. Küme depolamadaki dizin içeriğini listeleme.

    hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -ls wasbs:///sampledata2/
    hdfs dfs -ls /sampledata3/
    

Not

HDInsight dışındaki blob'larla çalışırken, yardımcı programların çoğu WASB biçimini tanımaz ve bunun yerine, example/jars/hadoop-mapreduce-examples.jar gibi temel yol biçimi gibi bekler.

Hive tablosu oluşturma

Üç dosya konumu, açıklayıcı amaçlarla gösterilir. Gerçek yürütme için girdilerden LOCATION yalnızca birini kullanın.

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/';

Dış kümeden dosyalara erişme

Microsoft, Azure Depolama ile çalışmak için aşağıdaki araçları sağlar:

Araç Linux OS X Windows
Azure portalı
Azure CLI
Azure PowerShell
AzCopy

Ambari'den depolama yolunu tanımlama

  • Yapılandırılan varsayılan deponun tam yolunu belirlemek için şu sayfaya gidin:

    HDFS>Yapılandırmaları yapın ve filtre giriş kutusuna girinfs.defaultFS.

  • Wasb deposu'nun ikincil depolama olarak yapılandırılıp yapılandırılmadığını denetlemek için şu sayfaya gidin:

    HDFS>Yapılandırmaları yapın ve filtre giriş kutusuna girinblob.core.windows.net.

Ambari REST API kullanarak yolu almak için bkz. Varsayılan depolama alanını alma.

Blob kapsayıcıları

Blob'ları kullanmak için önce bir Azure depolama hesabı oluşturursunuz. Bu adımın bir parçası olarak, depolama hesabının oluşturulduğu bir Azure bölgesi belirtirsiniz. Küme ve depolama hesabının aynı bölgede barındırılması gerekir. Hive meta veri deposu SQL Server veritabanı ve Apache Oozie meta veri deposu SQL Server veritabanı aynı bölgede bulunmalıdır.

Nerede olursa olsun, oluşturduğunuz her blob Azure Storage hesabınızdaki bir kapsayıcıya aittir. Bu kapsayıcı, HDInsight dışında oluşturulmuş mevcut bir blob olabilir. HdInsight kümesi için oluşturulmuş bir kapsayıcı da olabilir.

Varsayılan Blob kapsayıcısı iş geçmişi ve iş günlükleri gibi kümeye özel bilgileri depolar. Varsayılan Blob kapsayıcısını birden çok HDInsight kümesiyle paylaşmayın. Bu eylem iş geçmişini bozabilir. Her küme için farklı bir kapsayıcı kullanılması önerilir. Paylaşılan verileri varsayılan depolama hesabı yerine tüm ilgili kümeler için belirtilen bağlı bir depolama hesabına yerleştirin. Bağlantılı Depolama hesaplarını yapılandırma hakkında daha fazla bilgi için bkz: HDInsight kümeleri oluşturma. Ancak özgün HDInsight kümesi silindikten sonra varsayılan depolama kapsayıcısını yeniden kullanabilirsiniz. HBase kümeleri için, silinen bir HBase kümesi tarafından kullanılan varsayılan blob kapsayıcısını kullanarak yeni bir HBase kümesi oluşturarak HBase tablo şemasını ve verilerini tutabilirsiniz

Not

Güvenli aktarım gerektiren özellik, güvenli bir bağlantı üzerinden hesabınıza yapılan tüm istekleri zorunlu kılar. Bu özelliği yalnızca HDInsight kümesi sürüm 3.6 veya üzeri destekler. Daha fazla bilgi için bkz. Azure HDInsight'ta güvenli aktarım depolama hesaplarıyla Apache Hadoop kümesi oluşturma.

Ek depolama hesaplarını kullanma

HDInsight kümesi oluştururken ilişkilendirmek istediğiniz Azure Depolama hesabını belirtirsiniz. Ayrıca, oluşturma işlemi sırasında veya bir küme oluşturulduktan sonra aynı Azure aboneliğinden veya farklı Azure aboneliklerinden ek depolama hesapları ekleyebilirsiniz. Ek depolama hesapları ekleme hakkında yönergeler için bkz. HDInsight kümeleri oluşturma.

Uyarı

HDInsight kümesinden farklı bir konumda ek depolama hesabının kullanılması desteklenmez.

Sonraki adımlar

Bu makalede HDFS ile uyumlu Azure Depolama'yı HDInsight ile nasıl kullanacağınızı öğrendiniz. Bu depolama, uyarlanabilir, uzun vadeli, arşivlenmiş veri alma çözümleri oluşturmanıza ve HDInsight kullanarak depolanan yapılandırılmış ve yapılandırılmamış verilerin içindeki bilgilerin kilidini açmanıza olanak tanır.

Daha fazla bilgi için bkz.