Azure Data Lake Storage hesabıyla birden çok HDInsight kümesi kullanma

HDInsight sürüm 3,5 ' den başlayarak, varsayılan dosya sistemi olarak Azure Data Lake Storage hesaplarıyla HDInsight kümeleri oluşturabilirsiniz. Data Lake Storage, yalnızca büyük miktarlarda veriyi barındırmak için ideal hale getiren sınırsız depolamayı destekler; aynı zamanda tek bir Data Lake Storage hesabını paylaşan birden çok HDInsight kümesini barındırmak için. Depolama olarak Data Lake Storage bir HDInsight kümesi oluşturma hakkında yönergeler için bkz. hızlı başlangıç: HDInsight 'ta kümeleri ayarlama.

Bu makale, birden çok etkin HDInsight kümesinde kullanılabilecek tek ve paylaşılan bir Data Lake Storage hesabı ayarlamaya yönelik Data Lake Storage yöneticisine öneriler sağlar. Bu öneriler, paylaşılan bir Data Lake Storage hesabında birden çok güvenli ve güvenli olmayan Apache Hadoop kümelerini barındırmak için geçerlidir.

Data Lake Storage dosya ve klasör düzeyinde ACL 'Ler

Bu makalenin geri kalanında, Azure Data Lake Storage erişim denetimindeayrıntılı olarak açıklanan Azure Data Lake Storage dosya ve klasör düzeyi ACL 'lerinde iyi bir bilgiye sahip olduğunuzu varsaymaktadır.

Birden çok HDInsight kümesi için Data Lake Storage kurulum

Data Lake Storage hesabıyla birden çok HDInsight kümesi kullanma önerilerini açıklamak için iki düzeyli bir klasör hiyerarşisi getirmemize izin verin. /Clusters/finans klasör yapısına sahip bir Data Lake Storage hesabınız olduğunu düşünün. Bu yapıyla, finans organizasyonu için gereken tüm kümeler depolama konumu olarak/Clusters/finans kullanabilir. Daha sonra, başka bir kuruluş, pazarlama söylediğinde aynı Data Lake Storage hesabını kullanarak HDInsight kümeleri oluşturmak istiyorsa,/Clusters/Marketing oluşturamazlar. Şimdilik yalnızca /Clusters/finans' ı kullanalım.

Bu klasör yapısını HDInsight kümeleri tarafından etkin bir şekilde kullanılmak üzere etkinleştirmek için, Data Lake Storage Yöneticisi tabloda açıklandığı gibi uygun izinleri atamalıdır. Tabloda gösterilen izinler, varsayılan ACL 'Ler değil, Access-ACL 'Lerine karşılık gelir.

Klasör İzinler Sahip olan kullanıcı Sahip olan grup Adlandırılmış Kullanıcı Adlandırılmış Kullanıcı izinleri Adlandırılmış Grup Adlandırılmış Grup izinleri
/ rwxr-x--x yönetici yönetici Hizmet sorumlusu --x FINGRP r-x
/kümeler rwxr-x--x yönetici yönetici Hizmet sorumlusu --x FINGRP r-x
/Clusters/finans rwxr-x--t yönetici FINGRP Hizmet sorumlusu RWX - -

Tabloda,

  • yönetici , Data Lake Storage hesabının Oluşturucusu ve yöneticisidir.
  • Hizmet sorumlusu , hesapla ilişkili Azure ACTIVE DIRECTORY (AAD) hizmet sorumlusu olur.
  • Fingrp , AAD 'de finans kuruluştan kullanıcıları içeren bir kullanıcı grubudur.

AAD uygulaması oluşturma hakkında yönergeler için (Ayrıca bir hizmet sorumlusu oluşturur) bkz. AAD uygulaması oluşturma. AAD 'de bir Kullanıcı grubu oluşturma yönergeleri için bkz. Azure Active Directory grupları yönetme.

Göz önünde bulundurmanız gereken bazı önemli noktaları.

  • İki düzey klasör yapısı (/Clusters/Finance/), kümeler için depolama hesabı kullanılmadan önce Data Lake Storage yöneticisinin uygun izinlerle oluşturulması ve sağlanması gerekir. Bu yapı, kümeler oluşturulurken otomatik olarak oluşturulmaz.

  • Yukarıdaki örnek, /Clusters/finans 'ın sahip olduğu grubunu fingrp olarak ayarlamayı ve kökten başlayarak tüm klasör hiyerarşisine fingrp için r-x erişimine izin sağlamasını önerir. Bu, FINGRP üyelerinin kök 'dan başlayarak klasör yapısına gidebilmesini sağlar.

  • Farklı AAD hizmet sorumluları /Clusters/finans altında kümeler oluşturabilmesini durumunda, yapışkan bit ( finans klasöründe ayarlandığında), bir hizmet sorumlusu tarafından oluşturulan klasörlerin diğer tarafından silinebilmesini sağlar.

  • Klasör yapısı ve izinler oluşturulduktan sonra, HDInsight kümesi oluşturma işlemi /Clusters/Finance/ altında kümeye özgü bir depolama konumu oluşturur. Örneğin, fincluster01 adlı bir küme için depolama alanı /Clusters/Finance/f, ter01 olabilir. HDInsight kümesi tarafından oluşturulan klasörler için sahiplik ve izinler burada tabloda gösterilmiştir.

    Klasör İzinler Sahip olan kullanıcı Sahip olan grup Adlandırılmış Kullanıcı Adlandırılmış Kullanıcı izinleri Adlandırılmış Grup Adlandırılmış Grup izinleri
    /Clusters/finanace/fincluster01 rwxr-x--- Hizmet Sorumlusu FINGRP - - - -

İş girişi ve çıkış verileri için öneriler

Bu giriş verilerinin bir işe ve bir iş çıktılarının /kümelerin dışında bir klasöre depolanmasını öneririz. Bu, bazı depolama alanını geri kazanmak için kümeye özgü klasör silinse bile, iş girişleri ve çıktılar ileride kullanılmak üzere hala kullanılabilir olur. Böyle bir durumda, iş girişlerini ve çıktılarını depolamak için klasör hiyerarşisinin hizmet sorumlusu için uygun düzeyde erişim sağlamasına izin verildiğinden emin olun.

Tek bir depolama hesabı paylaşan kümeler üzerinde sınırlama

Tek bir Data Lake Storage hesabını paylaşabilen küme sayısı sınırı, bu kümelerde çalıştırılmakta olan iş yüküne bağlıdır. Bir depolama hesabını paylaşan kümeler üzerinde çok fazla küme veya çok ağır iş yükleri olması, depolama hesabı giriş/çıkış 'nin kısıtlanmasına neden olabilir.

Default-ACLs için destek

Adlandırılmış Kullanıcı erişimi (yukarıdaki tabloda gösterildiği gibi) ile bir hizmet sorumlusu oluştururken, adlandırılmış kullanıcıyı varsayılan-ACL ile eklememeyi öneririz. Varsayılan ACL 'Ler kullanılarak adlandırılmış Kullanıcı erişiminin sağlanması, sahip olan Kullanıcı, sahip olan grup ve diğerleri için 770 izinlerinin atanmasına neden olur. Bu varsayılan 770 değeri, sahip olan Kullanıcı (7) veya sahibi olan grup (7) için izin almasa da, diğerleri için tüm izinleri alır (0). Bu, bilinen sorunlar ve geçici çözümler bölümünde ayrıntılı olarak açıklanan belirli bir kullanım durumu ile ilgili bilinen bir soruna neden olur.

Bilinen sorunlar ve geçici çözümler

Bu bölümde, Data Lake Storage ile HDInsight kullanımına yönelik bilinen sorunlar ve bunların geçici çözümleri listelenmektedir.

Herkese açık görünür Apache Hadoop YARN kaynakları

Yeni bir Azure Data Lake Storage hesabı oluşturulduğunda, kök dizin, Access-ACL izin bitleri 770 olarak ayarlanan şekilde otomatik olarak sağlanır. Kök klasörün sahibi olan Kullanıcı, hesabı oluşturan kullanıcıya ayarlanır (Data Lake Storage Yöneticisi) ve sahip olan Grup, hesabı oluşturan kullanıcının birincil grubuna ayarlanır. "Diğerleri" için erişim sağlanmaz.

Bu ayarlar, Yarn 247' de yakalanan belirli bir HDInsight kullanım örneğini etkileyecek şekilde bilinmektedir. İş gönderimleri şuna benzer bir hata iletisiyle başarısız olabilir:

Resource XXXX is not publicly accessible and as such cannot be part of the public cache.

Daha önce bağlı olan Yarn Jira ile bağlantılı olarak, ortak kaynakları yerelleştirirken, yorumdur, uzak dosya sistemindeki izinlerini denetleyerek, istenen tüm kaynakların gerçekten genel olduğunu doğrular. Bu koşula uymayan herhangi bir LocalResource, yerelleştirme için reddedilir. İzinleri denetle, "diğerleri" için dosyaya okuma erişimi içerir. Bu senaryo, Azure Data Lake ' de HDInsight kümeleri barındırırken kullanıma hazır değildir, çünkü Azure Data Lake tüm "diğer" erişimini kök klasör düzeyinde reddeder.

Geçici çözüm

Yukarıdaki tabloda gösterildiği gibi, diğer kullanıcılar için (örneğin, / /kümeler ve /Clusters/finans ) okuma-yürütme izinlerini ayarlayın.

Ayrıca bkz.