Share via


AKS Kümelerinde HDInsight'ı Otomatik Ölçeklendirme

Önemli

Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.

herhangi bir kümenin iş performansını karşılamak ve maliyetleri önceden yönetmek için boyutlandırılması her zaman karmaşıktır ve belirlenmesi zordur! Data Lake House'un Bulut üzerinden oluşturulmasının kazançlı avantajlarından biri esnekliğidir ve bu da eldeki kaynakların kullanımını en üst düzeye çıkarmak için otomatik ölçeklendirme özelliğinin kullanılması anlamına gelir. Kubernetes ile otomatik ölçeklendirme, maliyet için iyileştirilmiş bir ekosistem oluşturmanın bir anahtarıdır. Herhangi bir kuruluştaki çeşitli kullanım düzenleri sayesinde küme yüklemelerinde zaman içinde kümeler yetersiz sağlanabilir (kötü performans) veya fazla sağlama (boştaki kaynaklar nedeniyle gereksiz maliyetler) olabilir.

AKS üzerinde HDInsight'ta sunulan otomatik ölçeklendirme özelliği, kümenizdeki çalışan düğümlerinin sayısını otomatik olarak artırabilir veya azaltabilir. Otomatik ölçeklendirme, müşteriler tarafından kullanılan küme ölçümlerini ve ölçeklendirme ilkesini kullanır.

Bu özellik, görev açısından kritik iş yükleri için uygundur.

  • Değişken veya öngörülemeyen trafik desenleri ve yüksek performans ve ölçek üzerinde SLA'lar gerektirir veya
  • Kümedeki işleri başarıyla yürütmek için gerekli çalışan düğümlerinin kullanılabilir olması için önceden belirlenmiş zamanlama.

AKS Kümelerinde HDInsight ile Otomatik Ölçeklendirme, kümeleri Azure'da maliyet açısından verimli ve esnek hale getirir.

Otomatik ölçeklendirme ile müşteriler, iş yüklerini etkilemeden kümelerin ölçeğini küçültebilir. Yetkisiz kullanımdan çıkarma ve soğutma süresi gibi gelişmiş özelliklerle etkinleştirilir. Bu özellikler, kullanıcıların kümenin geçerli yüküne göre düğümleri ekleme ve kaldırma konusunda bilinçli seçimler yapmalarını sağlar.

Nasıl çalışır?

Bu özellik, küme ölçümlerine veya ölçek artırma ve ölçeği azaltma işlemlerinin tanımlı zamanlamasına göre önceden belirlenmiş sınırlar içindeki düğüm sayısını ölçeklendirerek çalışır. Otomatik ölçeklendirme olaylarını tetikleyen iki tür koşul vardır: çeşitli küme performansı ölçümleri için eşik tabanlı tetikleyiciler (yük tabanlı ölçeklendirme olarak adlandırılır) ve zaman tabanlı tetikleyiciler (zamanlama tabanlı ölçeklendirme olarak adlandırılır).

Yük tabanlı ölçeklendirme, en iyi CPU kullanımını sağlamak ve çalıştırma maliyetini en aza indirmek için kümenizdeki düğüm sayısını ayarladığınız bir aralık içinde değiştirir.

Zamanlama tabanlı ölçeklendirme, ölçeği artırma ve ölçeği azaltma işlemlerinin zamanlamasına göre kümenizdeki düğüm sayısını değiştirir.

Not

Otomatik ölçeklendirme, mevcut kümenin SKU türünü değiştirmeyi desteklemez.

Küme uyumluluğu

Aşağıdaki tabloda, Otomatik ölçeklendirme özelliğiyle uyumlu küme türleri ve kullanılabilir veya planlanan öğeler açıklanmaktadır.

İş Yükü Yük Tabanlı Zamanlama Tabanlı
Flink Planlandı Yes
Trino Evet** Evet**
Spark Evet** Evet**

**Yetkisiz kullanımdan kaldırma yapılandırılabilir.

Ölçeklendirme Yöntemleri

  • Zamanlama tabanlı ölçeklendirme:

    • İşlerinizin sabit zamanlamalarla ve öngörülebilir bir süreyle çalıştırılması beklendiğinde veya günün belirli saatlerinde düşük kullanım öngördüğünüzde Örneğin, iş sonrası ve gün sonu işlerinde test ve geliştirme ortamları.

      Zamanlama tabanlı ölçeklendirmeyi seçmeyi gösteren ekran görüntüsü.

  • Yük tabanlı ölçek:

    • Yük desenleri gün içinde önemli ölçüde ve öngörülemez bir şekilde dalgalandığında, örneğin, çeşitli faktörlere göre yük desenlerinde rastgele dalgalanmalarla veri işlemeyi sırala.

      Yük tabanlı ölçeklendirmeyi seçmeyi gösteren ekran görüntüsü.

      Yeni ölçek kuralı yapılandırma seçeneğiyle artık ölçek kurallarını özelleştirebilirsiniz.

      Yük tabanlı ölçeklendirmede ölçek kuralını yapılandırmayı gösteren ekran görüntüsü.

      Yük tabanlı ölçeklendirme için ölçeklendirme kurallarını yapılandırma bölümünde kuralların nasıl ekleneceğini gösteren ekran görüntüsü.

      İpucu

      • Bir veya daha fazla kural tetiklendiğinde Ölçeği Artırma kuralları önceliklidir. Ölçeği artırma kurallarından yalnızca biri kümenin yetersiz sağlandığını gösterse bile, küme ölçeği artırmayı dener. Ölçeğin küçültülmesi için ölçeği artırma kuralı tetiklenmemelidir.

Yük tabanlı ölçek koşulları

Aşağıdaki koşullar algılandığında, Otomatik ölçeklendirme bir ölçek isteği gönderir

Ölçeği büyütme Ölçeği azaltma
Ayrılan Çekirdekler, 5 dakikalık yoklama aralığı (1 dakikalık denetim süresi) için %80'den büyük Ayrılan Çekirdekler, 5 dakikalık yoklama aralığı (1 dakikalık denetim süresi) için %20'den küçük veya buna eşit
  • Ölçeği artırma için Otomatik ölçeklendirme, gerekli düğüm sayısını eklemek için bir ölçek artırma isteği verir. Ölçeği artırma, geçerli CPU ve bellek gereksinimlerini karşılamak için gereken yeni çalışan düğümü sayısını temel alır. Bu değer, ayarlanan en fazla çalışan düğümü sayısına eşlenir.

  • Ölçeği küçültmek için Otomatik ölçeklendirme, bazı düğümleri kaldırma isteğinde bulunur. Ölçeği azaltmayla ilgili dikkat edilmesi gerekenler düğüm başına pod sayısını, geçerli CPU ve bellek gereksinimlerini ve geçerli iş yürütmesine göre kaldırma adayı olan çalışan düğümlerini içerir. Ölçeği azaltma işlemi önce düğümlerin yetkisini alır ve ardından bunları kümeden kaldırır.

    Önemli

    Otomatik ölçeklendirme Kuralı Altyapısı, sistem belleğini iyileştirmek için her 30 dakikada bir eski olayları proaktif olarak temizler. Sonuç olarak, ölçeklendirme kuralı aralığında 30 dakikalık bir üst sınır vardır. Ölçeklendirme eylemlerinin tutarlı ve güvenilir bir şekilde tetiklendiğinden emin olmak için, ölçeklendirme kuralı aralığını sınırdan daha küçük bir değere ayarlamak zorunludur. Bu kılavuza uyarsanız, sistem kaynaklarını etkili bir şekilde yönetirken sorunsuz ve verimli bir ölçeklendirme süreci garanti edebilirsiniz.

Küme ölçümleri

Otomatik ölçeklendirme, kümeyi sürekli izler ve Yük tabanlı otomatik ölçeklendirme için aşağıdaki ölçümleri toplar:

Ölçeklendirme Amacıyla Kullanılabilen Küme Ölçümleri

Metrik Sistem Açıklama
Kullanılabilir Çekirdek Yüzdesi Kümedeki toplam çekirdek sayısıyla karşılaştırıldığında kümedeki kullanılabilir toplam çekirdek sayısı.
Kullanılabilir Bellek Yüzdesi Kümedeki toplam bellek miktarıyla karşılaştırıldığında kümedeki kullanılabilir toplam bellek (MB cinsinden).
Ayrılmış Çekirdek Yüzdesi Kümedeki toplam çekirdek sayısıyla karşılaştırıldığında kümede ayrılan toplam çekirdek sayısı.
Ayrılan Bellek Yüzdesi Kümedeki toplam bellek miktarıyla karşılaştırıldığında kümede ayrılan bellek miktarı.

Varsayılan olarak, yukarıdaki ölçümler her 300 saniyede bir denetlenir; otomatik ölçeklendirmeyi özelleştir seçeneğiyle yoklama aralığını özelleştirdiğinizde de yapılandırılabilir. Otomatik ölçeklendirme, bu ölçümlere göre ölçeği artırma veya azaltma kararları verir.

Not

Otomatik ölçeklendirme varsayılan olarak Apache Spark için YARN için varsayılan kaynak hesaplayıcısını kullanır. Apache Spark Kümeleri için yük tabanlı ölçeklendirme kullanılabilir.

Yetkisiz Kullanımdan Kaldırma

Kuruluşların otomatik ölçeklendirme ile petabayt ölçeği elde etmek ve artık gerekli olmadığında kaynakları düzgün bir şekilde kullanımdan kaldırma yolları gerekir. Böyle bir senaryoda, yetkisiz kullanımdan kaldırma özelliği kullanışlıdır.

Yetkisiz kullanımdan çıkarma, otomatik ölçeklendirme çalışan düğümlerinin yetkisini alma işlemini tetikledikten sonra bile işlerin tamamlanmasını sağlar. Bu özellik, işler tamamlanana kadar düğümlerin sağlanmaya devam etmesini sağlar.

  • Trino : İşçiler, varsayılan olarak Yetkisiz Kullanımdan Çıkarma özelliğini etkinleştirdi. Koordinatör, çalışanı kümeden kaldırmadan önce sonlandırıcının yapılandırılan süre boyunca görevlerini tamamlamasına olanak tanır. Zaman aşımını yerel Trino parametresini shutdown.grace-periodkullanarak veya Azure portal hizmeti yapılandırma sayfasında yapılandırabilirsiniz.

  • Apache Spark : Ölçeği azaltma, kümedeki çalışan işleri etkileyebilir/durdurabilir. Azure portalında Yetkisiz Kullanımdan Çıkarma ayarlarını etkinleştirirseniz, YARN Düğümlerinin Yetkisiz Kullanımdan Kaldırılmasını içerir ve düğüm AKS kümesindeki HDInsight'tan kaldırılmadan önce çalışan düğümünde devam eden tüm çalışmaların tamamlanmasını sağlar.

Bekleme süresi

Sürekli ölçeklendirme işlemlerini önlemek için, otomatik ölçeklendirme altyapısı başka bir ölçek artırma işlemi kümesi başlatmadan önce yapılandırılabilir bir aralık bekler. Varsayılan değer 180 saniye olarak ayarlanır

Not

  • Özel ölçek kurallarında, hiçbir kural tetikleyicisi 30 dakikadan uzun bir tetikleyici aralığına sahip olamaz. Otomatik ölçeklendirme olayı gerçekleştikten sonra, başka bir ölçeklendirme ilkesi uygulamadan önce beklenmesi gereken süre.
  • Küme ölçümlerinin sıfırlanabilmesi için bekleme süresi ilke aralığından büyük olmalıdır.

Kullanmaya başlayın

  1. Otomatik ölçeklendirmenin çalışması için, sol bölmedeki IAM'yi kullanarak MSI'ye sahip veya katkıda bulunan iznini (küme oluşturma sırasında kullanılır) küme düzeyinde atamanız gerekir.

  2. Rol ataması ekleme konusunda listelenen aşağıdaki çizime ve adımlara bakın

    Rol ataması eklemeyi gösteren ekran görüntüsü.

  3. Rol ataması ekle'yi seçin,

    1. Atama türü: Ayrıcalıklı yönetici rolleri
    2. Rol: Sahip veya Katkıda Bulunan
    3. Üyeler: Yönetilen kimlik'i seçin ve küme oluşturma aşamasında verilen Kullanıcı tarafından atanan yönetilen kimliği seçin.
    4. Rolü atayın.

Zamanlama tabanlı Otomatik ölçeklendirme ile küme oluşturma

  1. Küme havuzunuz oluşturulduktan sonra, istediğiniz iş yüküyle (Küme türünde) yeni bir küme oluşturun ve normal küme oluşturma işleminin bir parçası olarak diğer adımları tamamlayın.

  2. Yapılandırma sekmesinde Otomatik ölçeklendirme iki durumlu düğmesini etkinleştirin.

  3. Zamanlama tabanlı otomatik ölçeklendirme'yi seçin

  4. Saat diliminizi seçin ve + Kural ekle'ye tıklayın

  5. Yeni koşulun uygulanacağı haftanın günlerini seçin.

  6. Koşulun geçerlilik süresini ve kümenin ölçeklendirilmesi gereken düğüm sayısını düzenleyin.

    Zamanlama tabanlı otomatik ölçeklendirmeyi kullanmaya başlamayı gösteren ekran görüntüsü.

    Not

    • Otomatik ölçeklendirmenin çalışması için kullanıcının küme MSI'sinde "sahip" veya "katkıda bulunan" rolü olmalıdır.
    • Varsayılan değer kümenin oluşturulduğu andaki ilk boyutunu tanımlar.
    • İki zamanlama arasındaki fark varsayılan olarak 30 dakikaya ayarlıdır.
    • Saat değeri 24 saatlik biçimi izler
    • İki gün içerisinde 24 saati aşan sürekli bir pencere bulunuyorsa günler arasında otomatik ölçeklendirme zamanlaması ayarlamanız gerekir ve otomatik ölçeklendirme, (aynı düğüm sayısıyla) 23:59'u 00:00 olarak kabul eder; 22:00 ila 23:59 ve 00:00 ila 02:00 arasındaki süre için zamanlamayı 22:00 ila 02:00 olarak ayarlamanız gerekir.
    • Zamanlamalar varsayılan olarak Eşgüdümlü Evrensel Saat (UTC) olarak ayarlanır. Açılır menüden istediğiniz zaman yerel saat diliminize karşılık gelen saat dilimine güncelleme yapabilirsiniz. Yaz Saati'ni gözlemleyen bir saat diliminde olduğunuzda, zamanlama otomatik olarak ayarlanmaz, zamanlama güncelleştirmelerini buna göre yönetmeniz gerekir.

Yük tabanlı Otomatik ölçeklendirme ile küme oluşturma

  1. Küme havuzunuz oluşturulduktan sonra, istediğiniz iş yüküyle (Küme türünde) yeni bir küme oluşturun ve normal küme oluşturma işleminin bir parçası olarak diğer adımları tamamlayın.

  2. Yapılandırma sekmesinde Otomatik ölçeklendirme iki durumlu düğmesini etkinleştirin.

  3. Yük tabanlı otomatik ölçeklendirme'yi seçin

  4. İş yükünün türüne bağlı olarak, yetkisiz kullanımdan çıkarma zaman aşımı ve bekleme süresi ekleme seçenekleriniz vardır

  5. En düşük ve en yüksek düğümleri seçin ve gerekirse otomatik ölçeklendirmeyi ihtiyaçlarınıza göre özelleştirmek için ölçek kurallarını yapılandırın.

    Yük tabanlı otomatik ölçeklendirmeyi kullanmaya başlamayı gösteren ekran görüntüsü.

    İpucu

    • Aboneliğinizin her bölge için bir kapasite kotası vardır. Baş düğümlerinizin toplam çekirdek sayısı ve en fazla çalışan düğümü sayısı kapasite kotasını aşamaz. Ancak bu kota geçici bir sınırdır; kolayca artırmak için istediğiniz zaman bir destek bileti oluşturabilirsiniz.
    • Toplam çekirdek kota sınırını aşarsanız şunu belirten bir hata iletisi alırsınız: The maximum node count you can select is {maxCount} due to the remaining quota in the selected subscription ({remaining} cores).
    • Bir veya daha fazla kural tetiklendiğinde Ölçeği Artırma kuralları önceliklidir. Ölçeği artırma kurallarından yalnızca biri kümenin yetersiz sağlandığını gösterse bile, küme ölçeği artırmayı dener. Ölçeğin küçültülmesi için ölçeği artırma kuralı tetiklenmemelidir.
    • Genel önizlemede, AKS üzerinde HDInsight bir kümede en fazla 500 düğümü destekler.

Resource Manager şablonuyla küme oluşturma

Zamanlama tabanlı otomatik ölçeklendirme

ClusterProfile -> autoscaleProfile bölümüne otomatik ölçeklendirme ekleyerek Azure Resource Manager şablonu kullanarak zamanlama tabanlı Otomatik Ölçeklendirme ile AKS kümesinde HDInsight oluşturabilirsiniz.

Otomatik ölçeklendirme düğümü, değişikliğin ne zaman gerçekleştiğini açıklayan bir saat dilimine ve zamanlamaya sahip bir yinelenme içerir. Eksiksiz bir Resource Manager şablonu için bkz. örnek JSON

{
  "autoscaleProfile": {
    "enabled": true,
    "autoscaleType": "ScheduleBased",
    "gracefulDecommissionTimeout": 60,
    "scheduleBasedConfig": {
      "schedules": [
        {
          "days": [
            "Monday",
            "Tuesday",
            "Wednesday"
          ],
          "startTime": "09:00",
          "endTime": "10:00",
          "count": 2
        },
        {
          "days": [
            "Sunday",
            "Saturday"
          ],
          "startTime": "12:00",
          "endTime": "22:00",
          "count": 5
        },
        {
          "days": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "startTime": "22:00",
          "endTime": "23:59",
          "count": 6
        },
        {
          "days": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "startTime": "00:00",
          "endTime": "05:00",
          "count": 6
        }
      ],
      "timeZone": "UTC",
      "defaultCount": 110
    }
  }
}

İpucu

  • Ölçeklendirme işlemi hatalarını önlemek için ARM dağıtımlarını kullanarak çakışmayan zamanlamalar ayarlamanız gerekir.

Yük tabanlı otomatik ölçeklendirme

ClusterProfile -> autoscaleProfile bölümüne otomatik ölçeklendirme ekleyerek Azure Resource Manager şablonu kullanarak yük tabanlı Otomatik Ölçeklendirme ile AKS kümesinde HDInsight oluşturabilirsiniz.

Otomatik ölçeklendirme düğümü

  • yoklama aralığı, bekleme süresi,
  • yetkisiz kullanımdan çıkarma,
  • en düşük ve en yüksek düğüm sayısı,
  • standart eşik kuralları,
  • değişikliğin ne zaman gerçekleştiğini açıklayan ölçeklendirme ölçümleri.

Eksiksiz bir Resource Manager şablonu için aşağıdaki örnek JSON'a bakın

  {
  "autoscaleProfile": {
    "enabled": true,
    "autoscaleType": "LoadBased",
    "gracefulDecommissionTimeout": 60,
    "loadBasedConfig": {
      "minNodes": 2,
      "maxNodes": 157,
      "pollInterval": 300,
      "cooldownPeriod": 180,
      "scalingRules": [
        {
          "actionType": "scaleup",
          "comparisonRule": {
            "threshold": 80,
            "operator": " greaterThanOrEqual"
          },
          "evaluationCount": 1,
          "scalingMetric": "allocatedCoresPercentage"
        },
        {
          "actionType": "scaledown",
          "comparisonRule": {
            "threshold": 20,
            "operator": " lessThanOrEqual"
          },
          "evaluationCount": 1,
          "scalingMetric": "allocatedCoresPercentage"
        }
      ]
    }
  }
}

REST API’yi kullanma

REST API kullanarak çalışan bir kümede Otomatik ölçeklendirmeyi etkinleştirmek veya devre dışı bırakmak için Otomatik ölçeklendirme uç noktanıza bir PATCH isteği gönderin: https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTER_POOL_NAME}}/clusters/{{CLUSTER_NAME}}?api-version={{HILO_API_VERSION}}

  • İstek yükünde uygun parametreleri kullanın. Json yükü, Otomatik ölçeklendirmeyi etkinleştirmek için kullanılabilir.
  • Otomatik ölçeklendirmeyi devre dışı bırakmak için yükü (autoscaleProfile: null) veya bayrağını (etkin, yanlış) kullanın.
  • Başvuru için yukarıdaki adımda belirtilen JSON örneklerine bakın.

Çalışan küme için otomatik ölçeklendirmeyi duraklatma

Otomatik ölçeklendirmede duraklatma özelliğini kullanıma sunmuş olduk. Artık Azure portalını kullanarak çalışan bir kümede Otomatik ölçeklendirmeyi duraklatabilirsiniz. Aşağıdaki diyagramda otomatik ölçeklendirmeyi duraklatma ve sürdürmeyi seçme işlemi gösterilmektedir

Otomatik ölçeklendirmeyi duraklatma işlemini gösteren ekran görüntüsü.

Otomatik ölçeklendirme işlemlerini sürdürmek istediğinizde devam edebilirsiniz.

Otomatik ölçeklendirmeyi sürdürmeyi gösteren ekran görüntüsü.

İpucu

Birden çok zamanlamayı yapılandırdığınızda ve otomatik ölçeklendirmeyi duraklattığınızda, sonraki zamanlamayı tetiklemez. Düğümler kullanımdan kaldırılmış durumda olsa bile düğüm sayısı aynı kalır.

Otomatik Ölçeklendirme Yapılandırmalarını Kopyalama

Azure portalını kullanarak artık küme havuzunuzda aynı küme şekli için aynı otomatik ölçeklendirme yapılandırmalarını kopyalayabilir, bu özelliği kullanabilir ve aynı yapılandırmaları dışarı veya içeri aktarabilirsiniz.

Otomatik ölçeklendirmeden yapılandırmaların nasıl dışarı veya içeri aktarılacağını gösteren ekran görüntüsü.

Otomatik ölçeklendirme etkinliklerini izleme

Küme durumu

Azure portalında listelenen küme durumu, Otomatik ölçeklendirme etkinliklerini izlemenize yardımcı olabilir. Görebileceğiniz tüm küme durum iletileri listede açıklanmıştır.

Küme durumu Açıklama
Başarılı Küme normal şekilde çalışıyor. Önceki Tüm Otomatik ölçeklendirme etkinlikleri başarıyla tamamlandı.
Kabul edildi Küme işlemi (örneğin: ölçeği artırma) kabul edilir ve işlemin tamamlanması beklenir.
Başarısız Bu, geçerli bir işlemin bir nedenden dolayı başarısız olduğu, kümenin işlevsel olmadığı anlamına gelir.
İptal edildi Geçerli işlem iptal edildi olarak duruyor.

Küme durumunu gösteren ekran görüntüsü.

Kümenizdeki geçerli düğüm sayısını görüntülemek için kümenizin Genel Bakış sayfasındaki Küme boyutu grafiğine gidin.

Küme boyutunu gösteren ekran görüntüsü.

İşlem geçmişi

Küme ölçümlerinin bir parçası olarak küme ölçeğini artırma ve ölçeği azaltma geçmişini görüntüleyebilirsiniz. Ayrıca, son gün, hafta veya başka bir dönemdeki tüm ölçeklendirme eylemlerini listeleyebilirsiniz.

Etkinlik günlüklerinde kümenin işlem geçmişini gösteren ekran görüntüsü.

Ek Kaynaklar

El ile ölçeklendirme - AKS üzerinde Azure HDInsight