Aracılığıyla paylaş


AKS kümelerinde HDInsight'ta Apache Flink® iş yönetimi

Ö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.

AKS üzerinde HDInsight, Apache Flink® işlerini doğrudan Azure portalı (kullanıcı dostu arabirim) ve ARM Rest API'leri aracılığıyla yönetmeye ve göndermeye yönelik bir özellik sağlar.

Bu özellik, kullanıcıların derin küme düzeyinde bilgi gerekmeden Apache Flink işlerini verimli bir şekilde denetlemelerini ve izlemelerini sağlar.

Sosyal haklar

  • Basitleştirilmiş iş yönetimi: Azure portalında Apache Flink'in yerel tümleştirmesiyle kullanıcılar artık işleri göndermek, yönetmek ve izlemek için Flink kümeleri hakkında kapsamlı bilgiye ihtiyaç duymaz.

  • Kullanıcı Dostu REST API: AKS üzerinde HDInsight, Flink işlerini göndermek ve yönetmek için kullanıcı dostu ARM Rest API'leri sağlar. Kullanıcılar bu Rest API'lerini kullanarak herhangi bir Azure hizmetinden Flink işleri gönderebilir.

  • Zahmetsiz iş güncelleştirmeleri ve durum yönetimi: Yerel Azure portalı tümleştirmesi, işleri güncelleştirmek ve son kaydedilen durumlarına (kayıt noktası) geri yüklemek için sorunsuz bir deneyim sağlar. Bu işlevsellik, iş yaşam döngüsü boyunca süreklilik ve veri bütünlüğü sağlar.

  • Azure işlem hattını kullanarak Flink işini otomatikleştirme: AKS üzerinde HDInsight kullanarak Flink kullanıcılarının kullanıcı dostu ARM Rest API'sine erişimi vardır. Flink iş işlemlerini Azure Pipeline'ınızla sorunsuz bir şekilde tümleştirebilirsiniz. İster yeni işleri başlatıyor, çalışan işleri güncelleştiriyor ister çeşitli iş işlemleri gerçekleştiriyor olun, bu kolaylaştırılmış yaklaşım el ile uygulanan adımları ortadan kaldırır. Flink kümenizi verimli bir şekilde yönetmenizi sağlar.

Önkoşullar

İşleri portaldan veya Rest API'lerden göndermeden ve yönetmeden önce bazı önkoşullar vardır.

  • İş jar dosyasını karşıya yüklemek için kümenin birincil depolama hesabında bir dizin oluşturun.

  • Kullanıcı kayıt noktaları almak istiyorsa, iş kayıt noktaları için depolama hesabında bir dizin oluşturun.

    Dizin yapısını gösteren ekran görüntüsü.

Önemli özellikler ve işlemler

  • Yeni iş gönderimi: Kullanıcılar zahmetsizce yeni bir Flink göndererek karmaşık yapılandırmalara veya dış araçlara duyulan ihtiyacı ortadan kaldırır.

  • İşleri kaydetme noktalarıyla durdurma ve başlatma: Kullanıcılar Flink işlerini önceki durumlarından (Savepoint) düzgün bir şekilde durdurabilir ve başlatabilir. Kayıt noktaları, sorunsuz sürdürmeleri sağlayarak iş ilerleme durumunun korunmasını sağlar.

  • İş güncelleştirmeleri: Kullanıcı, depolama hesabındaki jar dosyasını güncelleştirdikten sonra çalışan işi güncelleştirebilir. Bu güncelleştirme otomatik olarak kayıt noktasını alır ve işi yeni bir jar ile başlatır.

  • Durum bilgisi olmayan güncelleştirmeler: Bir iş için yeni bir yeniden başlatma gerçekleştirmek, durum bilgisi olmayan güncelleştirmelerle basitleştirilir. Bu özellik, kullanıcıların güncelleştirilmiş iş jar dosyasını kullanarak temiz bir yeniden başlatma başlatmasına olanak tanır.

  • Kayıt noktası yönetimi: Kullanıcılar herhangi bir anda çalışan işleri için kayıt noktaları oluşturabilir. Bu kayıt noktaları listelenebilir ve gerektiğinde işi belirli bir denetim noktasından yeniden başlatmak için kullanılabilir.

  • İptal: Bu işlem işi kalıcı olarak iptal eder.

  • Sil: İş geçmişi kaydını silin.

AKS üzerinde HDInsight'ta işleri yönetme seçenekleri

AKS üzerinde HDInsight, Flink işlerini yönetmenin yollarını sağlar.

Azure portalından İş Yönetimi

Flink işini portaldan çalıştırmak için şuraya gidin:

Portal --> AKS Küme Havuzu üzerinde HDInsight --> Flink Kümesi --> Ayarlar --> Flink İşleri

'flink' işinin nasıl çalıştırıldığından gösteren ekran görüntüsü.

  • Yeni iş: Yeni bir iş göndermek için iş jar'larını depolama hesabına yükleyin ve bir savepoint dizini oluşturun. Şablonu gerekli yapılandırmalarla tamamlayın ve işi gönderin.

    Yeni işin nasıl oluşturulacağını gösteren ekran görüntüsü.

    Özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    İş adı İş için benzersiz ad. Bu, portalda görüntülenir. İş adı küçük ikinci olmalıdır. Yes
    Jar yolu İş jar dosyasının yolunu Depolama. Kullanıcılar küme depolama alanında dizin oluşturmalı ve iş jar dosyasını karşıya yüklemelidir. Yes
    Giriş sınıfı İş yürütmenin başladığı işin giriş sınıfı. Yes
    Bağımsız Değişkenler İşin ana programı için bağımsız değişken. Tüm bağımsız değişkenleri boşluklarla ayırın. Hayır
    Parallelism İş Flink Paralelliği. 2 Yes
    savepoint.directory İş için Savepoint dizini. Kullanıcıların depolama hesabında iş kayıt noktası için yeni bir dizin oluşturması önerilir. abfs://<container>@<account>/<deployment-ID>/savepoints Hayır

    İş başlatıldıktan sonra portaldaki iş durumu ÇALıŞıYOR olur.

  • Durdurma: İşi durdurma işlemi herhangi bir parametre gerektirmedi, kullanıcı eylemi seçerek işi durdurabilir.

    Kullanıcının işi nasıl durdurabileceğini gösteren ekran görüntüsü.

    İş durdurulduktan sonra portaldaki iş durumu DURDURULUR.

  • Başlangıç: Bu eylem, işi kayıt noktasından başlatır. İşi başlatmak için durdurulan işi seçin ve başlatın.

    Kullanıcının işi nasıl başlattığını gösteren ekran görüntüsü.

    Akış şablonunu gerekli seçeneklerle doldurun ve başlatın. Kullanıcıların işi başlatmak istediği kayıt noktasını seçmesi gerekir. Varsayılan olarak, son başarılı kayıt noktasını alır.

    Akış şablonunun nasıl doldurulduğunu gösteren ekran görüntüsü.

    Özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    Bağımsız Değişkenler İşin ana programı için bağımsız değişken. Tüm bağımsız değişkenler boşlukla ayrılmalıdır. Hayır
    Son kayıt noktası İşi durdurmadan önce son başarılı kayıt noktası alma. Bu, kayıt noktası seçili değilse varsayılan olarak kullanılır. Düzenlenemez
    Kaydetme noktası adı Kullanıcılar iş için kullanılabilir kayıt noktasını listeleyebilir ve işi başlatmak için birini seçebilir. Hayır

    İş başlatıldıktan sonra portaldaki iş durumu ÇALıŞıYOR olur.

  • Güncelleştirme: Güncelleştirme, güncelleştirilmiş iş koduyla işlerin yeniden başlatılmasına yardımcı olur. Kullanıcıların depolama konumundaki en son iş jar dosyasını güncelleştirmeleri ve portaldan işi güncelleştirmeleri gerekir. Bu güncelleştirme, savepoint ile işi durdurur ve en son jar ile yeniden başlar.

    Güncelleştirilmiş iş koduyla işlerin yeniden başlatılmasını gösteren ekran görüntüsü.

    İşi güncelleştirme şablonu.

    İşi güncelleştirme şablonunu gösteren ekran görüntüsü.

    İş güncelleştirildikten sonra portaldaki iş durumu "ÇALıŞıYOR" olur.

  • Durum bilgisi olmayan güncelleştirme: Bu iş bir güncelleştirme gibidir, ancak işin en son kodla yeni bir yeniden başlatılmasını içerir.

    En son kodla işin yeni yeniden başlatılmasını gösteren ekran görüntüsü.

    İşi güncelleştirme şablonu.

    Durum bilgisi olmayan işi güncelleştirme şablonunu gösteren ekran görüntüsü.

    Özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    Bağımsız Değişkenler İşin ana programı için bağımsız değişken. Tüm bağımsız değişkenleri boşlukla ayırın. Hayır

    İş güncelleştirildikten sonra portaldaki iş durumu ÇALıŞıYOR olur.

  • Kayıt noktası: Flink İşi için kayıt noktasını alın.

    Flink İşi için kayıt noktasını gösteren ekran görüntüsü.

    Kaydetme noktası zaman alan bir işlemdir ve biraz zaman alır. İş eylemi durumunu devam ediyor olarak görebilirsiniz.

    İş eylemi durumunu gösteren ekran görüntüsü.

  • İptal: Bu iş, kullanıcının işi sonlandırmasına yardımcı olur.

    Kullanıcının işi nasıl sonlandırabileceğini gösteren ekran görüntüsü.

  • Sil: portaldan iş verilerini silin.

    Kullanıcının portaldan iş verilerini nasıl silebileceğini gösteren ekran görüntüsü.

  • İş ayrıntılarını görüntüleme: Kullanıcının iş adına tıklayabileceği iş ayrıntılarını görüntülemek için, iş ve son eylem sonucu hakkındaki ayrıntıları verir.

    İş ayrıntılarını görüntülemeyi gösteren ekran görüntüsü.

    Başarısız olan herhangi bir eylem için bu iş json ayrıntılı özel durumlar ve başarısızlık nedenleri verir.

Rest API Kullanarak İş Yönetimi

AKS üzerinde HDInsight, işi göndermek ve işi yönetmek için kullanıcı dostu ARM Rest API'lerini destekler. Bu Flink REST API'sini kullanarak Flink iş işlemlerini Azure Pipeline'ınızla sorunsuz bir şekilde tümleştirebilirsiniz. yeni işleri başlatırken, çalışan işleri güncelleştirirken veya çeşitli iş işlemleri gerçekleştirirken, bu kolaylaştırılmış yaklaşım el ile uygulanan adımları ortadan kaldırır ve Flink kümenizi verimli bir şekilde yönetmenizi sağlar.

Rest API için temel URL biçimi

Rest API için aşağıdaki URL'ye bakın; kullanıcıların bunu kullanmadan önce aks API sürümünde aboneliği, kaynak grubunu, küme havuzunu, küme adını ve HDInsight'ı değiştirmesi gerekir. https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runjob?api-version={{API_VERSION}}

Kullanıcılar bu REST API'yi kullanarak yeni işler başlatabilir, işleri durdurabilir, işleri başlatabilir, kayıt noktaları oluşturabilir, işleri iptal edebilir ve işleri silebilir. Geçerli API_VERSION 2023-06-01-preview sürümüdür.

Rest API Kimlik Doğrulaması

Flink ARM Rest API kullanıcılarının kimliğini doğrulamak için ARM kaynağı için taşıyıcı belirteci veya erişim belirtecini almanız gerekir. Hizmet sorumlusu kullanarak Azure ARM (Azure Resource Manager) REST API'sinde kimlik doğrulaması yapmak için şu genel adımları izleyebilirsiniz:

  • Hizmet Sorumlusu oluşturma.

    az ad sp create-for-rbac --name <your-SP-name>

  • Sahipe küme için flink SP izni verin.

  • Hizmet sorumlusuyla oturum açın.

    az login --service-principal -u <client_id> -p <client_secret> --tenant <tenant_id>

  • Erişim belirteci alma.

    $token = az account get-access-token --resource=https://management.azure.com/ | ConvertFrom-Json

    $tok = $token.accesstoken

    Kullanıcılar gösterilen URL'de belirteci kullanabilir.

    $data = Invoke-RestMethod -Uri $restUri -Method GET -Headers @{ Authorization = "Bearer $tok" }

Yönetilen Kimlik kullanarak kimlik doğrulaması: Kullanıcılar, İş REST API'sine çağrı yapmak için Yönetilen Kimliği destekleyen kaynakları kullanabilir. Daha fazla ayrıntı için lütfen Yönetilen Kimlik belgelerine bakın.

API'ler ve Parametreler LISTESI

  • Yeni İş: Flink'e yeni iş göndermek için Rest API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi:

    { 
        "properties": { 
            "jobType": "FlinkJob", 
            "jobName": "<JOB_NAME>", 
            "action": "NEW", 
            "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
            "jarName": "<JOB_JAR_NAME>", 
            "entryClass": "<JOB_ENTRY_CLASS>", 
            “args”: ”<JOB_JVM_ARGUMENT>”
            "flinkConfiguration": { 
                "parallelism": "<JOB_PARALLELISM>", 
                "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>" 
            } 
         } 
    }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İş için benzersiz ad. Bu, portalda görüntülenir. İş adı küçük ikinci olmalıdır. Yes
    eylem İş üzerindeki işlem türünü gösterir. Yeni iş başlatma için her zaman "YENİ" olmalıdır. Yes
    jobJarDirectory İş jar dizini için Depolama yolu. Kullanıcılar küme depolama alanında dizin oluşturmalı ve iş jar dosyasını karşıya yüklemelidir. Yes
    jarName İş jar'ının adı. Yes
    entryClass İş yürütmenin başladığı işin giriş sınıfı. Yes
    args İşin ana programı için bağımsız değişken. Bağımsız değişkenleri boşlukla ayırın. Hayır
    Parallelism İş Flink Paralelliği. 2 Yes
    savepoint.directory İş için Savepoint dizini. Kullanıcıların depolama hesabında iş kayıt noktası için yeni bir dizin oluşturması önerilir. abfs://<container>@<account>/<deployment-ID>/savepoints Hayır

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • İşi durdur: Geçerli çalışan işi durdurmak için REST API'sini kullanın.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

       {
          "properties": {
            "jobType": "FlinkJob",
            "jobName": "<JOB_NAME>",
            "action": "STOP"
          }
        }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı Yes
    eylem "DURDUR" olmalıdır Yes

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • İşi başlatma: DURDURULAN işi başlatmak için REST API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

       {
          "properties": {
             "jobType": "FlinkJob",
             "jobName": "<JOB_NAME>",
             "action": "START",
             "savePointName": "<SAVEPOINT_NAME>"
          }
        }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı. Yes
    eylem "START" olmalıdır Yes
    savePointName İşi başlatmak için nokta adını kaydedin. Bu isteğe bağlı bir özelliktir; varsayılan olarak başlatma işlemi son başarılı kayıt noktasını alır. Hayır

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • İşi güncelleştirme: Geçerli çalışan işi güncelleştirmek için REST API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”,
              "savePointName": "<SAVEPOINT_NAME>"
          }
      }
    
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı. Yes
    eylem Yeni iş başlatma için her zaman "UPDATE" olmalıdır. Yes
    args İş JVM bağımsız değişkenleri Hayır
    savePointName İşi başlatmak için nokta adını kaydedin. bu isteğe bağlı bir özelliktir, varsayılan olarak başlatma işlemi son başarılı kayıt noktasını alır. Hayır

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Durum bilgisi olmayan güncelleştirme işi: Durum bilgisi olmayan güncelleştirme için Rest API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "STATELESS_UPDATE",
              “args” : “<JOB_JVM_ARGUMENT>”
          }
      }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı. Yes
    eylem Yeni iş başlatma için her zaman "STATELESS_UPDATE" olmalıdır. Yes
    args İş JVM bağımsız değişkenleri Hayır

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Kayıt noktası: İş için kayıt noktasını tetikleyen Rest API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "SAVEPOINT"
          }
      }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı. Yes
    eylem Yeni iş başlatma için her zaman "SAVEPOINT" olmalıdır. Yes

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Kayıt noktasını listeleme: Savepoint dizinindeki tüm kayıt noktasını listelemek için REST API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "LIST_SAVEPOINT"
          }
      }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı Yes
    eylem "LIST_SAVEPOINT" olmalıdır Yes

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • İptal: İşi iptal etmek için REST API'sini kullanın.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "CANCEL"
          }
      }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. Şu şekilde olmalıdır: FlinkJob Yes
    jobName İşi başlatmak için kullanılan İş Adı. Yes
    eylem İptal olmalıdır. Yes

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • Sil: İşi silmek için REST API.

    Seçenek Değer
    Metot POST
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/runJob?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    İstek Gövdesi

      {
          "properties": {
              "jobType": "FlinkJob",
              "jobName": "<JOB_NAME>",
              "action": "DELETE"
          }
      }
    

    JSON gövdesi için özellik ayrıntıları:

    Özellik Description Varsayılan Değer Zorunlu
    jobType İş Türü. "FlinkJob" olmalıdır Yes
    jobName İşi başlatmak için kullanılan İş Adı. Yes
    eylem DELETE olmalıdır. Yes

    Örnek:

    Invoke-RestMethod -Uri $restUri -Method POST -Headers @{ Authorization = "Bearer $tok" } -Body $jsonString -ContentType "application/json"

  • İşleri Listele: Geçerli eylemin tüm işlerini ve durumunu listelemek için Rest API.

    Seçenek Değer
    Metot GET
    URL https://management.azure.com/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs?api-version={{API_VERSION}}
    Üst bilgi Yetkilendirme = "Taşıyıcı $token"

    Çıkış:

    { 
      "value": [ 
          { 
              "id": "/subscriptions/{{USER_SUBSCRIPTION}}/resourceGroups/{{USER_RESOURCE_GROUP}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSER_POOL}}/clusters/{{FLINK_CLUSTER}}/jobs/job1", 
              "properties": { 
                  "jobType": "FlinkJob", 
                  "jobName": "job1", 
                  "jobJarDirectory": "<JOB_JAR_STORAGE_PATH>", 
                  "jarName": "<JOB_JAR_NAME>", 
                  "action": "STOP", 
                  "entryClass": "<JOB_ENTRY_CLASS>", 
                  "flinkConfiguration": { 
                      "parallelism": "2", 
                      "savepoint.directory": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s" 
                  }, 
                  "jobId": "20e9e907eb360b1c69510507f88cdb7b", 
                  "status": "STOPPED", 
                  "jobOutput": "Savepoint completed. Path: <JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5", 
                  "actionResult": "SUCCESS", 
                  "lastSavePoint": "<JOB_SAVEPOINT_DIRECTORY_STORAGE_PATH>s/savepoint-20e9e9-8a48c6b905e5" 
          } 
       }
      ]
    }
    

Not

Herhangi bir eylem devam ederken, actionResult bunu 'IN_PROGRESS' değeriyle gösterir. Başarılı tamamlandığında , 'BAŞARI' gösterilir ve hata durumunda 'BAŞARISIZ' olur.

Başvuru

  • Apache Flink İş Zamanlaması
  • Apache, Apache Flink, Flink ve ilişkili açık kaynak proje adları Apache Software Foundation'ın (ASF) ticari markalarıdır.