Realtime Compute for Apache Flink, manuel kaynak yönetimini azaltmak için Autopilot ve zamanlanmış ayarlama olmak üzere iki otomatik ayarlama modu sunar. Manuel ayarlama; iş başlamadan önce kaynak atamayı, kullanım oranını en üst düzeye çıkarmak için iş çalışırken tahsisleri değiştirmeyi ve geri baskı veya gecikme artışlarına müdahale etmeyi gerektirir. Her iki mod da bu kararları otomatikleştirerek işlerinizin sürekli müdahaleye gerek kalmadan verimli kalmasını sağlar.
Bir ayarlama modu seçin
| Ayarlama modu | Ne zaman kullanılır | Nasıl çalışır | Referanslar |
|---|---|---|---|
| Autopilot | İş yükleri değişken veya öngörülemez olduğunda ve sistemin CPU, bellek veya gecikme sürelerindeki değişikliklere otomatik olarak yanıt vermesini istediğinizde. | Sistem canlı ölçümleri sürekli izler ve manuel müdahale olmadan paralelliği, CPU'yu ve belleği ayarlar. | Autopilot'u etkinleştirin ve yapılandırın |
| Zamanlanmış ayarlama | Trafik öngörülebilir bir desen izlediğinde (örneğin günlük zirve saatleri ve sakin dönemler) ve kaynak değişikliklerini önceden planlayabildiğinizde. | Zaman tabanlı kaynak planlarını tanımlarsınız. Sistem bunları yapılandırılmış tetikleme zamanlarında uygular. | Zamanlanmış bir ayarlama planını yapılandırın ve uygulayın |
İki mod birbirini dışlar. Diğerine geçmeden önce etkin olan modu devre dışı bırakın.
Sınırlamalar ve dikkat edilmesi gerekenler
Hizalanmamış checkpoint: Hizalanmamış checkpoint özelliği etkinleştirildiğinde iş paralelliği değiştirilemez.
Oturum kümeleri: Autopilot, oturum kümelerinde çalışan işler için desteklenmez.
YAML ile geliştirilen işler: YAML kullanılarak geliştirilen işler için otomatik ayarlama desteklenmez.
Sabit kodlanmış paralellik: Özel bağlayıcı içeren Flink SQL işlerinde veya DataStream API işlerinde paralelliği sabit kodlamayın. Sabit kodlanmış değerler otomatik ayarlama yapılandırmalarını geçersiz kılar.
Maksimum kaynak planı sayısı: En fazla 20 kaynak planı oluşturulabilir.
Birbirini dışlayan planlar: Aynı anda yalnızca bir zamanlanmış ayarlama planı uygulanabilir. Farklı bir plan uygulamadan önce etkin planı durdurun.
İş yeniden başlatmaları: Otomatik ayarlama işleri yeniden başlatabilir ve bu durum veri tüketimini anlık olarak durdurabilir.
Ververica Runtime (VVR) 8.0.1 ve sonraki sürümlerde sistem, dağıtımı yeniden başlatmadan önce dinamik bir yapılandırma güncellemesi yapmaya çalışır. Dinamik güncellemeler, tam yeniden başlatmaya kıyasla kesinti süresini %30–%98 oranında azaltır. Şu anda yalnızca iş paralelliği dinamik olarak güncellenebilir. Ayrıntılar için bkz.
Dinamik yapılandırma güncellemeleri
.
Kaynak değiştirme davranışı: Otomatik ayarlama değişiklikleri uyguladığında sistem, güncelleme yöntemini belirlemek için önceki ve sonraki yapılandırmaları karşılaştırır. CPU veya bellek değişiklikleri söz konusuysa dağıtım yeniden başlatılır. Yalnızca paralellik değişiyorsa kesinti süresini en aza indirmek için dinamik bir güncelleme uygulanır.
Performans darboğazları: Autopilot tüm akış performansı darboğazlarını çözmez. Trafiğin sorunsuz değiştiği, veri eğriliği olmadığı ve operatör aktarım hızının paralellikle doğrusal olarak ölçeklendiği durumlarda en iyi şekilde çalışır. Bu koşullar dışında şunlarla karşılaşabilirsiniz:
Paralellik değişikliklerinin başarısız olması veya işin kararlı bir duruma ulaşamadan tekrar tekrar yeniden başlatılması.
Kullanıcı tanımlı skaler işlevlerde (UDF), kullanıcı tanımlı toplama işlevlerinde (UDAF) veya kullanıcı tanımlı tablo değerli işlevlerde (UDTF) performans düşüşü.
Harici sistem sorunları: Autopilot harici sistemlerdeki sorunları algılamaz. Harici bir sistem arızalanır veya yavaş yanıt verirse Autopilot iş paralelliğini artırarak zaten yük altında olan sisteme ek yük bindirebilir. Yaygın harici sistem sorunları şunlardır:
Yetersiz DataHub bölümleri veya ApsaraMQ for RocketMQ üzerinde düşük aktarım hızı.
Düşük sink operatörü performansı.
ApsaraDB RDS veritabanlarında kilitlenmeler.
Autopilot'u etkinleştirin ve yapılandırın
Autopilot stratejileri
İş yükü özelliklerinize göre bir strateji seçin:
| Strateji | En uygun olduğu durumlar | Nasıl çalışır |
|---|---|---|
| Uyarlanabilir strateji (önerilen) | Değişken iş yükleri, yüksek gecikme hassasiyeti, veri eğriliği veya eşitsiz yük dağılımı. | Gerçek zamanlı ölçümlere dayanarak kaynak yapılandırmasını sürekli ayarlar ve talep değişikliklerine hızlı yanıt verir. |
| Stable strategy | Yeniden başlatmaların maliyetli olduğu ve sabit bir plana yakınsamanın tercih edildiği, sabit ve öngörülebilir iş yükleri. | İşin tüm çalışma döngüsü için sabit veya zamanlanmış bir kaynak planını hedefler. Yapılandırmalar yakınsadıktan sonra sistem kaydedip yeniden kullanabileceğiniz bir kaynak planı çıktısı verir. İş yeniden başlatmaları veya sıcak güncellemeler yakınsama sürecini sıfırlar. |
Prosedür
-
Autopilot yapılandırma sayfasına gidin.
Realtime Compute for Apache Flink konsoluna giriş yapın.
Hedef çalışma alanını bulun ve Actions sütunundaki Console öğesine tıklayın.
Sol gezinme bölmesinde O&M > Deployments seçeneğini belirleyin, ardından hedef dağıtımın adına tıklayın.
Resources sekmesinde Autopilot Mode alt sekmesini seçin.
Autopilot anahtarını açın. Resources sekmesinin altında Autopilot Mode Applying görünür. Autopilot'u devre dışı bırakmak için anahtarı kapatın veya Turn Off Autopilot seçeneğine tıklayın.
-
Configurations bölümünde Edit seçeneğine tıklayın, bir strateji seçin ve parametreleri yapılandırın.
(Önerilen) Uyarlanabilir strateji
Uyarlanabilir strateji parametreleri
Parametre Açıklama Max CPU İşin kullanabileceği maksimum CPU çekirdeği sayısı. Varsayılan: 64 çekirdek. Max Memory İşin kullanabileceği maksimum bellek. Varsayılan: 256 GiB. Max Parallelism Maksimum iş paralelliği. Varsayılan: 1.024. ApsaraMQ for Kafka, Message Queue, Simple Log Service veya diğer mesaj kuyruğu hizmetleriyle entegre edildiğinde, yapılandırılan değer bunu aşarsa sistem bunu otomatik olarak bölüm sayısıyla sınırlar. Min Parallelism Minimum iş paralelliği. Varsayılan: 1. Scale Up Rules Ölçek büyütme işlemini tetikleyen koşullar. Tek bir koşulun karşılanması eylemi tetikler. Yapılandırılabilir koşullar: < br > - Gecikmeler belirtilen bir süre boyunca bir eşikin üzerinde kalır. < br > - Bir operatörün ortalama meşguliyet oranı belirtilen bir süre boyunca bir eşikin üzerinde kalır. < br > - Bir TaskManager'ın bellek kullanımı belirtilen bir süre boyunca bir eşikin üzerinde kalır. < br > - Bellek yetersizliği (OOM) hatası oluşur. < br > - TaskManager veya JobManager'ın saniye başına garbage collection'da harcadığı süre belirtilen bir süre boyunca bir eşikin üzerinde kalır. < br > NotEşikleri geçmiş verilere göre ayarlayın veya daha gevşek değerlerle başlayıp zaman içinde sıkılaştırın. Eşik yüzdeleri %0–100 arasındadır. Uygun bir süre ayarlamak kısa süreli dalgalanmaları filtrelemeye yardımcı olur ve geçici artışlardan kaynaklanan ölçek büyütme işlemlerini önler. OOM yalnızca etkinleştirilebilir veya devre dışı bırakılabilir; eşik gerekmez.
Scale Down Rules Ölçek küçültme işlemini tetikleyen koşullar. Tek bir koşulun karşılanması eylemi tetikler. Yapılandırılabilir koşullar: <br>- Bir operatörün ortalama meşguliyet oranı belirtilen bir süre boyunca bir eşikin altında kalır. <br>- Bir TaskManager'ın bellek kullanımı belirtilen bir süre boyunca bir eşikin altında kalır. Advanced Rules Şu anda test aşamasındadır ve genel kullanıma sunulmamıştır. Gelişmiş kuralları etkinleştirmek için bizimle iletişime geçin. Kararlı strateji
Kararlı strateji parametreleri
Parametre Açıklama Cooldown Minutes Autopilot tarafından tetiklenen yeniden başlatmalar arasındaki minimum aralık. Varsayılan: 10 dakika. Max CPU İşin kullanabileceği maksimum CPU çekirdeği sayısı. Varsayılan: 16 çekirdek. Max Memory İşin kullanabileceği maksimum bellek. Varsayılan: 64 GiB. Max Delay İzin verilen maksimum kaynak gecikmesi. Varsayılan: 1 dakika. More Configurations Gelişmiş parametreler (aşağıdaki tabloya bakın). Kararlı strateji: gelişmiş parametreler
Parametre Açıklama Varsayılan mem.scale-down.intervalBellek ölçek küçültmeleri arasındaki minimum aralık. Bellek kullanımı bu pencere içinde belirlenen eşikin altında kaldığında sistem bir bellek azaltması ayarlar veya önerir. 4 saat parallelism.scale.maxMaksimum paralellik. -1değeri sınırsız anlamına gelir. ApsaraMQ for Kafka, Message Queue, Simple Log Service veya diğer mesaj kuyruğu hizmetleriyle entegre edildiğinde sistem bunu otomatik olarak bölüm sayısıyla sınırlar.-1 parallelism.scale.minMinimum paralellik. 1 delay-detector.scale-up.thresholdÖlçek büyütme işlemini tetiklemeden önce izin verilen maksimum kaynak gecikmesi. Yetersiz işleme kapasitesi nedeniyle gecikme bu değere ulaşırsa sistem paralelliği artırır veya operatörlerin zincirini kaldırarak aktarım hızını iyileştirir. 1 dakika slot-usage-detector.scale-up.thresholdKaynak dışı operatörlerin hesaplama/GÇ kaynakları için üst kullanım oranı eşiği. Bir operatörün işleme süresi oranı bu değerin üzerinde kaldığında Flink paralelliği artırır. 0,8 slot-usage-detector.scale-down.thresholdKaynak dışı operatörlerin hesaplama/GÇ kaynakları için alt kullanım oranı eşiği. Bir operatörün işleme süresi oranı bu değerin altında kaldığında Flink paralelliği azaltır. 0,2 slot-usage-detector.scale-up.sample-intervalFlink'in kaynak dışı operatörlerin meşguliyet oranlarını örneklediği ve ölçek büyütme ile ölçek küçültme eşikleriyle karşılaştırdığı aralık. 3 dakika resources.memory-scale-up.maxMaksimum TaskManager ve JobManager bellek boyutu. Bir TaskManager ve JobManager Autopilot gerçekleştirdiğinde veya paralelliği artırdığında bellek üst sınırı 16 GiB'dir. 16 GiB Save seçeneğine tıklayın.
Bir kaynak planını kaydedin
stable strategy kullanan bir iş yakınsadığında sistem kaydedip uygulayabileceğiniz bir kaynak planı oluşturur. İki plan türü mevcuttur:
| Plan türü | Açıklama | Uygulandığında ne olur |
|---|---|---|
| Sabit kaynak planı | Zaman boyutu olmayan tek bir kaynak yapılandırması. | Dağıtımın kaynak yapılandırması kaydedilen değerlerle güncellenir ve bir sonraki başlatmada uygulanır. |
| Scheduled plan (genel önizleme) | Her biri bir zaman dilimine bağlı birden çok kaynak yapılandırması. | Ayarlama modu otomatik olarak zamanlanmış ayarlamaya geçer. İş kararlı çalıştıktan sonra kaynaklar ayarlanmaz. |
Sabit bir kaynak planını kaydetmek ve uygulamak için:
Autopilot Mode Applying bannerında Details seçeneğine tıklayın. Görüntülenen panelde Recommended Plan seçeneğini Specified resource olarak ayarlayın ve Save seçeneğine tıklayın. Onay iletişim kutusunda Confirm seçeneğine tıklayın.
Zamanlanmış bir planı kaydetmek ve uygulamak için:
Zamanlanmış bir ayarlama planını yapılandırın ve uygulayın
Zamanlanmış bir plan oluşturun ve uygulayın
-
Zamanlanmış plan yapılandırma sayfasına gidin.
Realtime Compute for Apache Flink konsoluna giriş yapın.
Hedef çalışma alanını bulun ve Actions sütunundaki Console seçeneğine tıklayın.
Sol gezinme bölmesinde O&M > Deployments seçeneğini belirleyin, ardından hedef dağıtımın adına tıklayın.
Resources sekmesinde Scheduled Mode alt sekmesini seçin.
New Plan seçeneğine tıklayın.
-
New Plan panelinin Resources bölümünde planı yapılandırın:
Trigger Period: No Repeat, Every Day, Every Week veya Every Month seçeneklerinden birini seçin. Haftalık veya aylık dönemler için planın etkili olacağı tarihleri belirtin.
Trigger Time Planın etkili olacağı saati ayarlayın.
Mode: Basic veya Expert seçeneklerinden birini seçin. Ayrıntılar için bkz. İş kaynaklarını yapılandırma.
Diğer parametreler: Bkz. Çalışma zamanı parametre yapılandırması.
-
(İsteğe bağlı) Plana daha fazla zaman dilimi eklemek ve bunların tetikleme zamanları ile kaynak ayarlarını yapılandırmak için New Resource Setting Period seçeneğine tıklayın.
ÖnemliTetikleme zamanları arasındaki aralık 30 dakikadan uzun olmalıdır.
Scheduled Mode alt sekmesinin Resource Plans bölümünde planı bulun ve Actions sütunundaki Apply seçeneğine tıklayın.
Zamanlanmış bir planı kaydedin ve uygulayın
Autopilot'un stable strategy özelliğini kullanan bir iş yakınsadığında sistem gözlemlenen kaynak kullanımına dayalı olarak otomatik bir zamanlanmış plan oluşturur. Bu planı görüntüleyebilir, değiştirebilir, kaydedebilir ve uygulayabilirsiniz.
-
Autopilot yapılandırma sayfasına gidin.
Realtime Compute for Apache Flink konsoluna giriş yapın.
Hedef çalışma alanını bulun ve Actions sütunundaki Console seçeneğine tıklayın.
Sol gezinme bölmesinde O&M > Deployments seçeneğini belirleyin, ardından hedef dağıtımın adına tıklayın.
Resources sekmesine tıklayın.
Autopilot Mode Applying bannerında Details seçeneğine tıklayın. Görüntülenen panelde Recommended Plan seçeneğini Scheduled plan olarak ayarlayın.
-
Planı yapılandırın:
Eylem Açıklama Notlar Max Change Count değerini belirtin Zamanlanmış plana uygulanan maksimum kaynak değişikliği sayısını ayarlayın. İzin verilen aralık: 2–5. Merge time periods seçeneğine tıklayın Belirtilen maksimum değişiklik sayısına göre zaman dilimlerini birleştirin. İş gereksinimlerinize uyacak şekilde birleştirmeden önce kaynakları ölçeklendirin. Birleştirilmiş kaynak yapılandırmalarını inceleyin ve değiştirin. Ayrıntılar için bkz. İş kaynaklarını yapılandırma.
Sol alt köşedeki Save seçeneğine tıklayın.
İletişim kutusunda bir Scheduled plan name girin veya Apply this plan immediately seçeneğini belirleyin, ardından Confirm seçeneğine tıklayın. Plan uygulandıktan sonra ayarlama modu otomatik olarak zamanlanmış ayarlamaya geçer. İş kararlı çalıştığında Autopilot kaynakları ayarlamayı durdurur.
Örnek
Bu örnekte günlük bir trafik deseni kullanılmaktadır: 09:00:00–19:00:00 saatleri arasında 30 işlem birimi (CU) ile zirve saatleri ve 19:00:00–ertesi gün 09:00:00 saatleri arasında 10 CU ile sakin saatler. Zamanlanmış ayarlama yapılandırması aşağıdaki gibidir.
Zamanlanmış ayarlama yapılandırma paneli Morning Peak and Evening Peak aynı kaynak parametrelerine sahip iki kural içerir: Job Manager CPU 1 çekirdek, Bellek 4 GiB; Task Manager CPU 1 çekirdek, Bellek 4 GiB; TaskManager başına Slot Count 4'tür; System Checkpoint Interval 0,1 sn; iki sistem checkpoint'i arasındaki Minimum Interval 0,1 sn; State Data Expiration Time 0 saat; Flink Restart Strategy failure-rate olarak ayarlanmıştır.
Sonraki adımlar
Dağıtım sağlığını izlemek ve iş sürekliliğini sağlamak için akıllı dağıtım tanılama özelliğini kullanın. Ayrıntılar için bkz. Akıllı iş tanılama gerçekleştirme.
Dağıtım yapılandırmaları ve sorgu optimizasyonu yoluyla Flink SQL dağıtım performansını iyileştirin. Ayrıntılar için bkz. Flink SQL'i optimize etme.