Lindorm tarafından sunulan Lindorm Distributed Processing System (LDPS), Data Management (DMS) görev orkestrasyon özelliğini kullanarak Lindorm Spark işlerini zamanlamanıza ve bu işlerin yayınlama geçmişini ve günlüklerini görüntülemenize olanak tanır. LDPS; veri üretimi, etkileşimli analitik, makine öğrenimi ve grafik hesaplama gibi senaryolardaki hesaplama gereksinimlerinizi karşılayabilir. Bu konuda, DMS kullanılarak Lindorm Spark işlerinin nasıl yönetileceği açıklanmaktadır.
Ön koşullar
DMS etkinleştirilmiştir.
Lindorm örneği için LDPS etkinleştirilmiştir. Daha fazla bilgi için bkz. Hizmeti etkinleştirme.
Bir iş geliştirilmiştir. Daha fazla bilgi için bkz. JAR işi geliştirme uygulamaları veya Python İş Geliştirme: Uygulamalı Kılavuz.
Geliştirilen iş HDFS veya Object Storage Service (OSS) üzerine yüklenmiştir. Daha fazla bilgi için bkz. Konsolu kullanarak dosya yükleme.
Lindorm Spark görev akışı oluşturma
DMS konsolu V5,0 oturumunu açın.
-
Task Orchestration sayfasına gidin.
-
Basit mod:
Scene Guide bölümünde, Data Transmission and Processing (DTS) seçeneğine tıklayın.
Sayfanın sağ tarafındaki Data processing bölümünde Task Orchestration seçeneğine tıklayın.
Normal mod: Üst gezinme çubuğunda seçeneklerini belirleyin.
-
Task Orchestration sayfasında Create Task Flow seçeneğine tıklayın.
Create Task Flow iletişim kutusunda Task Flow Name ve Description alanlarını belirtin ve Confirm seçeneğine tıklayın.
Sol taraftaki Task Type bölümünden Lindorm Spark düğümlerini tuvale sürükleyin ve düğümler arasındaki bağımlılıkları belirtmek için bir düğümü başka bir düğüme bağlayın.
-
Lindorm Spark düğümünü yapılandırın.
Lindorm Spark düğümüne çift tıklayın veya Lindorm Spark düğümüne tıklayıp
simgesine tıklayın.-
Açılan sayfada, çalıştırmak istediğiniz işin temel parametrelerini ve özel parametrelerini yapılandırın.
-
Basic Configurations bölümünde temel parametreleri yapılandırın. Temel parametreler aşağıdaki tabloda açıklanmıştır.
Parameter
Description
Region
Lindorm örneğinizin dağıtıldığı bölgeyi seçin.
Lindorm Instance
Lindorm örneğinizin ID değerini seçin.
Task Type
Bir Spark işi türü seçin. Aşağıdaki iş türleri desteklenir:
JAR
Python
SQL
-
Job Configuration bölümünde, çalıştırmak istediğiniz işin özel parametrelerini yapılandırın. Farklı Spark işi türlerine ait yapılandırma şablonları ve özel parametreler aşağıdaki bölümlerde açıklanmıştır.
-
Aşağıdaki bölümde bir JAR Spark işinin yapılandırma şablonu ve özel parametreleri açıklanmaktadır:
{ "mainResource" : "oss://path/to/your/file.jar", "mainClass" : "path.to.main.class", "args" : [ "arg1", "arg2" ], "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.sql.shuffle.partitions" : "20" } }Parameter
Type
Required
Description
Example
mainResource
String
Yes
JAR paketinin HDFS veya OSS içinde depolandığı yol.
JAR paketinin depolandığı HDFS yolu: hdfs:///path/spark-examples_2.12-3.1.1.jar
JAR paketinin depolandığı OSS yolu: oss://testBucketName/path/spark-examples_2.12-3.1.1.jar
mainClass
String
Yes
JAR işinde programınızın giriş noktası olarak kullanılan sınıf.
com.aliyun.ldspark.SparkPi
args
Array
No
mainClass parametresine aktarılan parametre.
["arg1", "arg2"]
configs
Json
No
Spark işinin sistem parametreleri. İş OSS'ye yüklendiyse configs içinde aşağıdaki parametreleri yapılandırmanız gerekir:
spark.hadoop.fs.oss.endpoint: Spark işinin OSS'de depolandığı yol.
spark.hadoop.fs.oss.accessKeyId: OSS'ye erişmek için kullanılan AccessKey ID. AccessKey ID değerini konsoldan edinebilirsiniz. Daha fazla bilgi için bkz. AccessKey çifti alma.
spark.hadoop.fs.oss.accessKeySecret: OSS'ye erişmek için kullanılan AccessKey gizli anahtarı. AccessKey gizli anahtarını konsoldan edinebilirsiniz. Daha fazla bilgi için bkz. AccessKey çifti alma.
spark.hadoop.fs.oss.impl: OSS'ye erişmek için kullanılan sınıf. Değeri org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem olarak ayarlayın.
{ "spark.sql.shuffle.partitions": "200"}
-
Aşağıdaki bölümde bir Python Spark işinin yapılandırma şablonu ve özel parametreleri açıklanmaktadır:
{ "mainResource" : "oss://path/to/your/file.py", "args" : [ "arg1", "arg2" ], "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.submit.pyFiles" : "oss://path/to/your/project_file.py,oss://path/to/your/project_module.zip", "spark.archives" : "oss://path/to/your/environment.tar.gz#environment", "spark.sql.shuffle.partitions" : "20" } }Parameter
Type
Required
Description
Example
mainResource
String
Yes
Python dosyasının OSS veya HDFS içinde depolandığı yol.
Python dosyasının depolandığı OSS yolu: oss://testBucketName/path/spark-examples.py
Python dosyasının depolandığı HDFS yolu: hdfs:///path/spark-examples.py
args
Array
No
mainClass parametresine aktarılan parametre.
["arg1", "arg2"]
configs
Json
No
Spark işinin sistem parametreleri. İşi OSS'ye yüklemeniz gerekiyorsa configs içinde aşağıdaki parametreleri yapılandırmanız gerekir:
spark.hadoop.fs.oss.endpoint: Spark işinin OSS'de depolandığı yol.
spark.hadoop.fs.oss.accessKeyId: OSS'ye erişmek için kullanılan AccessKey ID. AccessKey ID değerini konsoldan edinebilirsiniz. Daha fazla bilgi için bkz. AccessKey çifti alma.
spark.hadoop.fs.oss.accessKeySecret: OSS'ye erişmek için kullanılan AccessKey gizli anahtarı. AccessKey gizli anahtarını konsoldan edinebilirsiniz. Daha fazla bilgi için bkz. AccessKey çifti alma.
spark.hadoop.fs.oss.impl: OSS'ye erişmek için kullanılan sınıf. Değeri org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem olarak ayarlayın.
{"spark.sql.shuffle.partitions": "200"}
-
Aşağıdaki bölümde bir SQL işinin yapılandırma şablonu ve özel parametreleri açıklanmaktadır:
{ "mainResource" : "oss://path/to/your/file.sql", "configs" : { "spark.hadoop.fs.oss.endpoint" : "", "spark.hadoop.fs.oss.accessKeyId" : "", "spark.hadoop.fs.oss.accessKeySecret" : "", "spark.hadoop.fs.oss.impl" : "org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem", "spark.sql.shuffle.partitions" : "20" } }Parameter
Type
Required
Description
Example
mainResource
String
Yes
SQL dosyasının OSS veya HDFS içinde depolandığı yol.
SQL dosyasının depolandığı OSS yolu: oss://testBucketName/path/spark-examples.sql
SQL dosyasının depolandığı HDFS yolu: hdfs:///path/spark-examples.sql
configs
Json
No
SQL işinin diğer yapılandırmaları.
{ "spark.executor.memory" : "8g"}
-
-
Yukarıdaki yapılandırma tamamlandıktan sonra, işin beklendiği gibi çalışıp çalışmadığını kontrol etmek için sol üst köşedeki Try Run seçeneğine tıklayın.
Görev akışını yayınlayın. Tüm düğümler yapılandırıldıktan sonra, mevcut görev akışının sayfasının sol üst köşesindeki Save seçeneğine tıklayın.
Görev akışının yayınlama geçmişini ve günlüklerini görüntüleme
Task Orchestration sayfasında, yayınlama geçmişini ve günlüklerini görüntülemek istediğiniz görev akışının adına tıklayın.
Açılan sayfada sağ üst köşedeki Go to O&M seçeneğine tıklayın.
-
Görev akışının yayınlama geçmişini ve günlüklerini görüntüleyin.
Görev akışının yayınlama geçmişini görüntüleyin. Task Flow Information sayfasında Published Tasks sekmesine tıklayarak görev akışının yayınlama geçmişini görüntüleyebilirsiniz. Yayınlanan görevler listesi Version ID, Publisher, Publish Time, Remarks ve Actions sütunlarını içerir. Actions sütununda, bir sürümün yayınlama ayrıntılarını görüntülemek için Details veya DAG seçeneklerine tıklayabilirsiniz.
-
Görev akışının günlüklerini görüntüleyin.
Running History sekmesinde sol üst köşedeki açılır listeden Triggered at Specified Time veya Triggered Manually seçeneğini belirleyerek görev akışındaki tüm düğümlerin ayrıntılarını görüntüleyin. Running History sekmesinde bir yürütme kaydını genişleterek her alt görev düğümünün çalışma durumunu, geçen süreyi ve çalışma günlüklerini görüntüleyebilirsiniz.
-
Görüntülemek istediğiniz düğümün satırında View seçeneğine tıklayın. Ardından, Lindorm Spark işinin gönderimine ilişkin günlükleri görüntüleyin ve düğümün iş kimliğini (job ID) ve SparkUI bilgilerini alın.
Notİş gönderilemezse, destek talebi gönderirken iş kimliğini ve SparkUI bilgilerini sağlayın.
Gelişmiş ayarlar
Lindorm Spark görev akışını DMS konsolunda yapılandırabilirsiniz. Lindorm Spark görev akışı yapılandırıldıktan sonra görev akışını yeniden yayınlamanız gerekir.
Zamanlama ayarlarını yapılandırma
İş gereksinimlerinize göre bir zamanlama ilkesi yapılandırabilirsiniz. Lindorm Spark görev akışı, yapılandırılan zamanlama ilkesine göre otomatik olarak yürütülür. Bir zamanlama ilkesi yapılandırmak için aşağıdaki adımları uygulayın:
Task Orchestration sayfasında, zamanlama ilkesi yapılandırmak istediğiniz görev akışının adına tıklayın.
Açılan sayfanın sol alt köşesinde Task Flow Information seçeneğine tıklayın.
-
Sağ taraftaki Scheduling Settings bölümünde Enable Scheduling seçeneğini açın ve bir zamanlama ilkesi yapılandırın. Yapılandırabileceğiniz parametreler aşağıdaki tabloda açıklanmıştır.
Parameter
Description
Scheduling Type
Bir zamanlama türü seçin:
Cyclic Scheduling: Görevleri düzenli aralıklarla (örneğin haftada bir kez) zamanlayın.
Schedule Once: Belirtilen bir zamanda görevi bir kez yürütün. Yalnızca belirli yürütme saatini yapılandırmanız yeterlidir.
Effective Period
Zamanlama döngüsünün geçerli olacağı dönemi seçin. Varsayılan değer 1970-01-01 to 9999-01-01 olup zamanlamanın her zaman geçerli olduğu anlamına gelir.
Scheduling Cycle
Zamanlama döngüsünü seçin:
Hour: Görev zamanlamasını belirtilen saate göre yürütün. Zamanlanmış zamanlama gereklidir.
Day: Görev zamanlamasını günde bir kez yürütün. Günlük zamanlama için belirli saati yapılandırmanız gerekir.
Week: Görev zamanlamasını haftanın belirtilen günlerinde bir kez yürütün. Belirtilen günleri ve belirli saati yapılandırmanız gerekir.
Month: Görev zamanlamasını ayın belirtilen günlerinde bir kez yürütün. Belirtilen günleri ve belirli saati yapılandırmanız gerekir.
Timed Scheduling
İki zamanlanmış zamanlama yöntemi mevcuttur:
Sabit aralıklı zamanlama:
Start Time: Görev yürütmenin başlangıç saati.
Interval: Görev yürütmeleri arasındaki saat cinsinden aralık.
End Time: Görev yürütmenin bitiş saati.
Örneğin, başlangıç saatini 00:00, aralığı 6 saat ve bitiş saatini 20:59 olarak ayarlarsanız görev 00:00, 06:00, 12:00 ve 18:00 saatlerinde yürütülür.
Specified Time zamanlaması: Görev yürütme için belirli zaman noktalarını seçin.
Örneğin, 0 Hour ve 5 Hour seçeneklerini belirlerseniz görev 00:00 ve 05:00 saatlerinde yürütülür.
Specified Time
Zamanlama döngüsü Week ise görevin yürütüleceği hafta günlerini seçin. Birden fazla seçim desteklenir.
Zamanlama döngüsü Month ise görevin yürütüleceği ay günlerini seçin. Birden fazla seçim desteklenir.
Specific Time
Görev akışı yürütmesi için belirli saati ayarlayın.
Örneğin, saati 02:55 olarak ayarlarsanız görev belirtilen günlerde 02:55'te yürütülür.
Cron Expression
Manuel yapılandırma gerekmez. Sistem, yapılandırılan döngüye ve belirli zamana göre cron ifadesini otomatik olarak oluşturur.
Örnek: Görev akışınızın her gün 00:00 ve 12:00 saatlerinde zamanlanmasını istiyorsanız zamanlama ilkesini aşağıdaki parametreleri ayarlayarak yapılandırın:
Scheduling Type ayarını Cyclic scheduling olarak belirleyin.
Scheduling Cycle açılır listesinden Hour seçeneğini belirleyin.
Timed Scheduling alanında Specified Time seçeneğini belirleyin. Specified Time açılır listesinden 0Hour ve 12Hour seçeneklerini belirleyin.
Değişkenleri yapılandırma
Döngüsel zamanlamanın etkinleştirildiği bir görev akışı için, yürütmek istediğiniz işe bir zaman değişkeni yapılandırabilirsiniz. Örneğin, düğüm için bizdate zaman değişkenini yapılandırabilirsiniz. Zaman değişkeni, görevin yürütüldüğü zaman noktasından bir önceki günü belirtir. Zaman değişkenini yapılandırmak için aşağıdaki adımları uygulayın:
Mevcut görev akışı sayfasında Lindorm Spark düğümüne çift tıklayın veya Lindorm Spark düğümüne tıklayıp
simgesine tıklayın.Sağ gezinme bölmesinde Variable Setting seçeneğine tıklayın.
Node Variable veya Task Flow Variable sekmesinde bir değişken ekleyin.
-
Job Configuration bölümünde değişkeni kullanın. Diğer değişkenler hakkında bilgi için bkz. Değişkenler.
İş parametrelerinde tanımlanan bir değişkene başvurmak için ${değişken_adı} sözdizimini kullanın.
Bildirimleri yönetme
Görev akışınız için bildirim özelliğini etkinleştirirseniz sistem, görev akışının yürütme sonucuna göre bir bildirim mesajı gönderir. Bildirim özelliğini etkinleştirmek için aşağıdaki adımları uygulayın:
Mevcut görev akışı sayfasının sol alt köşesinde Notification Configuration seçeneğine tıklayın.
-
İş gereksinimlerinize göre aşağıdaki bildirim anahtarlarından birini açın:
-
Temel Bildirimler
Başarı Bildirimi: Görev akışı yürütüldüğünde sistem bir bildirim mesajı gönderir.
Arıza Bildirimi: Görev akışı yürütülemediğinde sistem bir bildirim mesajı gönderir.
Zaman Aşımı Bildirimi: Görev akışı zaman aşımına uğradığında sistem bir bildirim mesajı gönderir.
Uyarı Bildirimi: Görev başlamadan hemen önce sistem bir bildirim mesajı gönderir.
-
(İsteğe bağlı): Mesaj alıcılarını yapılandırın. Mesaj alıcılarının nasıl yapılandırılacağı hakkında daha fazla bilgi için bkz. Bildirim yönetimi.
SQL deyimlerini yürütme
DMS konsolu V5,0 oturumunu açın.
Home sekmesine tıklayın.
Sol gezinme bölmesinde bir örnek oluşturmak için
simgesine tıklayın.-
Add Instance iletişim kutusunda NoSQL Database bölümünden Lindorm_Compute seçeneğini belirleyin.

Örnek için Instance Region, Instance ID, Database Account ve Database password alanlarını belirtin ve ardından Submit seçeneğine tıklayın.
Açılan iletişim kutusunda SQLConsole'a gitmek için Submit seçeneğine tıklayın.
SQLConsole sekmesinde yürütülecek SQL deyimini girin ve Execute seçeneğine tıklayın.
İlgili bilgiler
DMS görev orkestrasyon özelliği hakkında daha fazla bilgi için bkz. Genel Bakış.