HDInsight'ta Azure Depolama genel bakış

Azure Depolama, HDInsight ile sorunsuz bir şekilde tümleşen sağlam bir genel amaçlı depolama çözümüdür. HDInsight, Azure Depolama’daki bir blob kapsayıcıyı kümenin varsayılan dosya sistemi olarak kullanabilir. HDFS arabirimi aracılığıyla, HDInsight'taki bileşenlerin tam kümesi doğrudan blob olarak depolanan yapılandırılmış veya yapılandırılmamış veriler üzerinde çalışabilir.

Varsayılan küme depolama alanınız ve iş verileriniz için ayrı depolama kapsayıcıları kullanmanızı öneririz. Ayrım, HDInsight günlüklerini ve geçici dosyaları kendi iş verilerinizden yalıtmaktır. Ayrıca, depolama maliyetini azaltmak için her kullanımdan sonra uygulama ve sistem günlüklerini içeren varsayılan blob kapsayıcısını silmenizi öneririz. Kapsayıcıyı silmeden önce günlükleri aldığınızdan emin olun.

Seçili ağlardaki Güvenlik duvarları ve sanal ağlar kısıtlamalarıyla depolama hesabınızın güvenliğini sağlamayı seçerseniz, Güvenilen Microsoft hizmetleri izin ver... özel durumunu etkinleştirdiğinizden emin olun. Bunun istisnası, HDInsight'ın depolama hesabınıza erişebilmesidir.

HDInsight depolama mimarisi

Aşağıdaki diyagramda Azure Depolama HDInsight mimarisinin soyut bir görünümü sağlanır:

HDInsight Storage Architecture.

HDInsight, işlem düğümlerine yerel olarak bağlı olan dağıtılmış dosya sistemine erişim imkanı sağlar. Bu dosya sistemine tam uygun URI kullanılarak erişilebilir, örneğin:

hdfs://<namenodehost>/<path>

HDInsight aracılığıyla Azure Depolama'daki verilere de erişebilirsiniz. Söz dizimi şu şekildedir:

wasb://<containername>@<accountname>.blob.core.windows.net/<path>

Hiyerarşik ad alanına (Azure Data Lake Storage 2. Nesil) sahip hesaplar için söz dizimi aşağıdaki gibidir:

abfs://<containername>@<accountname>.dfs.core.windows.net/<file.path>/

HDInsight kümeleriyle azure Depolama hesabı kullanırken aşağıdaki ilkeleri göz önünde bulundurun:

  • Bir kümeye bağlı depolama hesaplarındaki kapsayıcılar: Oluşturma sırasında hesap adı ve anahtar kümeyle ilişkilendirildiğinden, bu kapsayıcılardaki blob'lara tam erişiminiz vardır.

  • Bir kümeye bağlı olmayan depolama hesaplarındaki genel kapsayıcılar veya genel bloblar: Kapsayıcılardaki bloblar için salt okunur izniniz vardır.

    Not

    Genel kapsayıcılar, bu kapsayıcıda kullanılabilen tüm blobların listesini almanıza ve kapsayıcı meta verilerini almanıza olanak tanır. Genel blob'lar, yalnızca tam URL'yi biliyorsanız blob erişiminize izin verir. Daha fazla bilgi için bkz. Kapsayıcılara ve bloblara anonim okuma erişimini yönetme.

  • Bir kümeye bağlı olmayan depolama hesaplarındaki özel kapsayıcılar: WebHCat işlerini gönderirken depolama hesabını tanımlamadığınız sürece kapsayıcılardaki bloblara erişemezsiniz.

Oluşturma işleminde tanımlanan depolama hesapları ve bunların anahtarların %HADOOP_HOME%/conf/core-site.xml küme düğümlerinde depolanır. HDInsight varsayılan olarak core-site.xml dosyasında tanımlanan depolama hesaplarını kullanır. Apache Ambari kullanarak bu ayarı değiştirebilirsiniz. değiştirilebilen veya core-site.xml dosyasına yerleştirilebilen depolama hesabı ayarları hakkında daha fazla bilgi için şu makalelere bakın:

Apache Hive dahil olmak üzere birden çok WebHCat işi. MapReduce, Apache Hadoop akışı ve Apache Pig, depolama hesaplarının ve meta verilerin açıklamasını taşır. (Bu özellik şu anda depolama hesaplarıyla Pig için geçerlidir ancak meta veriler için geçerli değildir.) Daha fazla bilgi için bkz . Alternatif depolama hesapları ve meta veri depolarıyla HDInsight kümesi kullanma.

Bloblar yapılandırılmış ve yapılandırılmamış veriler için kullanılabilir. Blob kapsayıcıları verileri anahtar/değer çiftleri olarak depolar ve dizin hiyerarşisi yoktur. Ancak anahtar adı, bir dosya dizin yapısı içinde depolanmış gibi görünmesini sağlamak için eğik çizgi karakteri ( / ) içerebilir. Örneğin, blob'un anahtarı olabilir input/log1.txt. Gerçek input dizin yok, ancak anahtar adındaki eğik çizgi karakteri nedeniyle anahtar bir dosya yolu gibi görünür.

Azure Depolamanın yararları

Birlikte konumlandırılmamış işlem kümeleri ve depolama kaynakları performans maliyetlerine işaret eder. Bu maliyetler, işlem kümelerinin Azure bölgesindeki depolama hesabı kaynaklarına yakın şekilde oluşturulmasıyla azaltılır. Bu bölgede işlem düğümleri, Azure Depolama içindeki yüksek hızlı ağ üzerinden verilere verimli bir şekilde erişebilir.

Verileri HDFS yerine Azure Depolama depoladığınızda çeşitli avantajlar elde edersiniz:

  • Verileri yeniden kullanma ve paylaşma: HDFS’deki veriler işlem kümesi içinde bulunur. Yalnızca işlem kümesi erişimi olan uygulamalar HDFS API'lerini kullanarak verileri kullanabilir. Buna karşılık Azure Depolama verilerine HDFS API'leri veya Blob depolama REST API'leri aracılığıyla erişilebilir. Bu düzenleme nedeniyle, verileri üretmek ve kullanmak için daha büyük bir uygulama kümesi (diğer HDInsight kümeleri dahil) ve araçlar kullanılabilir.

  • Veri arşivleme: Veriler Azure Depolama depolandığında, hesaplama için kullanılan HDInsight kümeleri kullanıcı verilerini kaybetmeden güvenli bir şekilde silinebilir.

  • Veri depolama maliyeti: Verileri DFS'de uzun süre depolamak, verileri Azure Depolama depolamaktan daha maliyetlidir. İşlem kümesinin maliyeti Azure Depolama maliyetinden daha yüksek olduğundan. Ayrıca her işlem kümesi oluşturma işlemi için verilerin yeniden yüklenmesi gerekmeyen veri yükleme maliyetlerinden de tasarruf etmiş olursunuz.

  • Esnek ölçeklendirme: HDFS size ölçeklendirilmiş dosya sistemi sağlamakla birlikte, ölçek, kümeniz için oluşturduğunuz düğüm sayısı tarafından belirlenir. Ölçeği değiştirmek, Azure Depolama'da otomatik olarak elde ettiğiniz esnek ölçeklendirme özelliklerinden daha karmaşık olabilir.

  • Coğrafi çoğaltma: Azure Depolama coğrafi olarak çoğaltılabilir. Coğrafi çoğaltma coğrafi kurtarma ve veri yedekliliği sağlar ancak coğrafi olarak çoğaltılan konuma yük devretme performansınızı ciddi ölçüde etkiler ve ek maliyetler doğurabilir. Bu nedenle coğrafi çoğaltmayı dikkatli bir şekilde ve yalnızca verilerin değeri ek maliyeti haklı çıkarsa seçin.

Bazı MapReduce işleri ve paketleri, Azure Depolama'da depolamak istemediğiniz ara sonuçlar oluşturabilir. Bu durumda, verileri yerel HDFS'de depolamayı seçebilirsiniz. HDInsight, Hive işlerinde ve diğer işlemlerde bu ara sonuçların birkaçı için DFS kullanır.

Not

HdFS komutlarının çoğu (örneğin, ls, copyFromLocalve mkdir) Azure Depolama'de beklendiği gibi çalışır. Yalnızca ve gibi fschkdfsadminyerel HDFS uygulamasına (DFS olarak adlandırılır) özgü komutlar Azure Depolama'da farklı davranışlar gösterir.

Sonraki adımlar