Enterprise Distributed Application Service (EDAS) içinde bir uygulamayı dağıttığınızda, başlattığınızda veya ölçeklendirdiğinizde Change Records sayfası değişiklik sürecindeki her adımı izler. Bir değişiklik başarısız olursa başarısız olan adımı ve temel nedenini belirlemek için Change Details sayfasını kullanın.
Başarısız olan adımı bulma
-
Uygulama ayrıntıları sayfasında sol gezinme bölmesinden Change Records seçeneğine tıklayın.
Başarısız bir değişikliğin Change Status sütununda Execution failed durumu görünür.
Başarısız değişiklik kaydını bulun ve Actions sütunundaki View seçeneğine tıklayın.
-
Change Details sayfasında Batch 1 Change sekmesinde başarısız olan adıma (örneğin Deploy) tıklayın. Çok aşamalı dağıtım yapılandırdıysanız sayfada Batch 1 Change ve Batch 2 Change gibi ayrı sekmeler görüntülenir. Başarısız olan toplu işin sekmesine tıklayın.
Temel nedeni belirlemek için sekmenin sağ tarafındaki günlüğü inceleyin.
Günlük açık bir neden göstermiyorsa aşağıdaki yaygın hata senaryolarını kontrol edin.
Bağlantı noktası sağlık denetimi hatası
Belirtiler
Değişiklik süreci sağlık denetimi adımında başarısız olur. EDAS'ın uygulamanın başladığını doğrulamak için kullandığı 65000 numaralı bağlantı noktasına ulaşılamaz.
Nedenler
Bağlantı noktası çakışması: Uygulama başladığında başka bir süreç zaten 65000 numaralı bağlantı noktasını kullanıyordur.
Tomcat başlatma hatası: Tomcat konteyneri bir yapılandırma veya bağımlılık hatası nedeniyle başlatılamaz.
Çözüm
Uygulama başlatma günlüklerinde istisnaları kontrol edin.
java.net.BindException: Address already in usegibi hataları veya eksik bağımlılık hatalarını arayın.Bir bağlantı noktası çakışması varsa 65000 numaralı bağlantı noktasını kullanan süreci durdurun veya farklı bir bağlantı noktası kullanacak şekilde yeniden yapılandırın.
Altta yatan başlatma hatasını düzeltin ve uygulamayı yeniden dağıtın.
URL sağlık denetimi hatası
Belirtiler
Değişiklik süreci sağlık denetimi adımında başarısız olur. Bir sağlık denetimi URL'si yapılandırdığınızda EDAS uygulama başladıktan sonra bu URL'ye bir HTTP isteği gönderir. Denetim yalnızca HTTP durum kodu 200 alındığında başarılı olur. Üç dakikalık zaman aşımı içinde başka bir durum kodu döndürülürse denetim başarısız olur ve dağıtım durur.
Nedenler
Uygulama başlatılamadığı için sağlık denetimi URL'si hiçbir zaman kullanılamaz hale gelir.
Yapılandırılan sağlık denetimi URL'si yanlışdır veya var olmayan bir yola işaret eder.
Bir istek filtresi, güvenlik duvarı kuralı veya güvenlik grubu sağlık denetimi URL'sine yönelik HTTP isteklerini engeller.
Çözümler
Uygulamanın hatasız başladığını onaylamak için uygulama başlatma günlüğünü kontrol edin.
-
Sağlık denetimi URL yolunun doğru olduğunu ve uygulamanın bu yolda 200 yanıtı sunduğunu doğrulayın. Bunu uygulama ana bilgisayarından bir istek çalıştırarak test edebilirsiniz:
curl -I http://localhost:<port>/<health-check-path> Hiçbir istek filtresinin, güvenlik duvarı kuralının veya güvenlik grubunun sağlık denetimi URL'sine gelen HTTP isteklerini engellemediğini onaylayın.
Sorunu çözdükten sonra uygulamayı yeniden dağıtın.
Disk dolu hatası
Belirtiler
Uygulama değişiklik sürecindeki bir adımda uzun süre takılı kalır. Değişiklik günlüğünde aşağıdaki hata mesajlarından biri yer alır:
The [EDAS-10000] disk has no space available.
No space left on device. Free space (for /home/admin) in bytes: 0exit 1.
Neden
Çoğu durumda uygulama iş günlükleri mevcut tüm disk alanını tüketir.
Çözümler
| Dağıtım türü | Eylem |
|---|---|
| ECS kümesi | Elastic Compute Service (ECS) konsoluna giriş yapın ve diskteki gereksiz günlük dosyalarını temizleyin. |
| Swarm kümesinde Docker uygulaması | Uygulamayı Reset the application seçeneğiyle sıfırlayın. Bu işlem konteyneri durdurur, siler ve yeniden oluşturur; böylece kullanılan disk alanı serbest bırakılır. |
Tekrarlanmasını önlemek için günlük rotasyonu yapılandırın veya uygulama günlükleriniz için bir saklama ilkesi belirleyin.
Eksik AliyunServiceRoleForAutoScaling rolü
Belirtiler
EDAS kaynakları yönetmek için Auto Scaling'i çağıramadığından değişiklik süreci başarısız olur.
Neden
Hizmete bağlı AliyunServiceRoleForAutoScaling rolü Alibaba Cloud hesabınıza atanmamıştır. Bu rol Auto Scaling'in Elastic Compute Service (ECS), Virtual Private Cloud (VPC) ve diğer gerekli hizmetlere erişim izinlerini verir.
Çözüm
Auto Scaling konsolunda AliyunServiceRoleForAutoScaling rolünü hesabınıza atayın ve ardından değişikliği yeniden deneyin.