4.16.09 Geri Alma İşlemi

Edge 4.16.09 sürümüne güncelleme sırasında bir hata oluşursa hataya neden olan bileşeni geri alabilir ve güncellemeyi tekrar deneyebilirsiniz. Örneğin, Postgres 9.4 güncellemesi başarısız olursa yalnızca Postgres düğümlerini geri alabilir ve güncellemeyi tekrar deneyebilirsiniz.

Geri alma işlemi yapmak isteyebileceğiniz iki senaryo vardır:

  1. Daha eski bir sürüme geri dönme Örneğin, 4.16.09'dan 4.16.05'e.
  2. Aynı sürümdeki daha eski bir sürüme geri dönme.

Her iki senaryoda da geri alma işlemi gerçekleştirmek için aşağıdaki prosedürü kullanın.

Geri alma işlemini kimler yapabilir?

Geri alma işlemini gerçekleştiren kullanıcı, Edge'i ilk güncelleyen kullanıcı veya kök olarak çalışan bir kullanıcı olmalıdır.

Varsayılan olarak Edge bileşenleri "apigee" kullanıcısı olarak çalışır. Bazı durumlarda, Edge bileşenlerini farklı kullanıcılar olarak çalıştırıyor olabilirsiniz. Örneğin, yönlendiricinin 1000'in altındakiler gibi ayrıcalıklı bağlantı noktalarına erişmesi gerekiyorsa yönlendiriciyi kök olarak veya bu bağlantı noktalarına erişimi olan bir kullanıcı olarak çalıştırmanız gerekir. Alternatif olarak, bir bileşeni bir kullanıcı olarak, başka bir bileşeni ise başka bir kullanıcı olarak çalıştırabilirsiniz.

Hangi bileşenler geri alınabilir?

Geri alma işlemi gerçekleştirirken aşağıdaki koşullara dikkat etmeniz gerekir:

  • Aşağıda listelenen beş Edge bileşeni ortak kod paylaşır. Bu nedenle, bir düğümdeki beş bileşenden herhangi birini geri almak için düğümde yüklü olan beş bileşenden herhangi birini geri almanız gerekir. Örneğin, düğümde Yönetim Sunucusu, Yönlendirici ve Mesaj İşlemci yüklüyse bunlardan herhangi birini geri almak için üçünü de geri almanız gerekir.
    Kod paylaşan beş bileşen şunlardır:
    • Yönetim Sunucusu
    • Yönlendirici
    • Mesaj İşleyici
    • Qpid Sunucusu
    • Postgres Server
  • Edge 4.16.01'den güncelleme yapıyorsanız Cassandra'yı geri almayın. Edge'in bu sürümü, Cassandra'nın güncellenmiş bir sürümünü içerir. Herhangi bir bileşeni geri alırsanız Cassandra'yı 4.16.09 sürümünde bırakın.
  • Bu sürümde qpidd'nin yeni bir sürümü yoktur. Bu nedenle, qpidd'yi geri almanıza gerek yoktur.

4.16.09 sürümüne geri dönülüyor

Bu bölümde, Edge 4.16.09'u önceki bir sürüme geri alma prosedürü yer alır. Bu bölüm iki kısma ayrılmıştır:

  • Postgres güncellemesini 9.4 sürümüne geri alma
    Her güncelleme prosedürünün son bölümü, Postgres düğümlerini 9.4 sürümüne güncellemektir. Bu güncelleme başarısız olursa güncellemeyi geri almak için bu prosedürü kullanabilirsiniz.
  • Diğer tüm Edge bileşenlerini geri alma
    Diğer Edge bileşenlerini geri almak için bu prosedürü kullanın.

Postgres 9.4 güncellemesini geri almak için

Ana-yedek yapılandırmasında Postgres'i güncellerken Postgres güncellemesini geri almak için:

  • Yeni bekleme düğümünü Postgres ana düğümü olacak şekilde yükseltin. Yeni Postgres ana sürümü, önceki Edge kurulumunuzla aynı sürüm olacaktır.
  • Eski bekleme düğümünü yeni ana düğümün bekleme düğümü olacak şekilde yapılandırın. Eski bekleme düğümü, önceki Edge kurulumunuzla aynı sürümde olur.
  • Yeni ana ve bekleme düğümlerini analiz ve tüketici gruplarına kaydedin.

Geri alma işlemini tamamladığınızda eski ana düğüme artık gerek kalmaz. Ardından eski ana düğümü kullanımdan kaldırabilirsiniz.

  1. Yeni bekleme Postgres düğümünün çalıştığından emin olun:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Postgres çalışmıyorsa başlatın:
    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Postgres'in eski ana düğümde ve eski bekleme düğümünde durdurulduğundan emin olun:
    > /opt/apigee/apigee-service/bin/apigee-all status

    Postgres çalışıyorsa durdurun:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. Yüklüyse eski bekleme düğümünde Qpid'i başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start

    Not: Birçok yapılandırmada eski bekleme düğümü yalnızca Postgres'i barındırır, Qpid'i barındırmaz.
  4. Yeni bekleme düğümünü Postgres ana düğümü olarak yükseltin:
    1. Yeni bekleme düğümünü yeni ana düğüm olarak yükseltin:
      > apigee-service apigee-postgresql promote-standby-to-master new_standby_IP

      İstenirse "apigee" kullanıcısının Postgres şifresini girin. Varsayılan şifre "postgres"tir.
    2. Edge'in mevcut sürümünü yüklemek için kullandığınız yapılandırma dosyasını düzenleyerek aşağıdakileri belirtin:
      # Yeni ana düğümün IP adresi:
      PG_MASTER=yeni_yedek_IP
      # Eski yedek düğümün IP adresi
      PG_STANDBY=eski_yedek_IP
    3. Yeni ana düğümü yapılandırın:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Eski yedek düğümü yeniden oluşturun:
    1. Edge'in mevcut sürümünü yüklemek için kullandığınız yapılandırma dosyasını düzenleyerek aşağıdakileri belirtin:
      # Yeni ana düğümün IP adresi:
      PG_MASTER=yeni_bekleme_IP'si
      # Eski bekleme düğümünün IP adresi
      PG_STANDBY=eski_bekleme_IP'si
    2. Eski bekleme düğümündeki veri dizinini kaldırın:
      > cd /opt/apigee/data/apigee-postgresql/pgdata
      > rm -rf *
    3. Eski bekleme düğümünü yeni ana düğümün bekleme düğümü olacak şekilde yeniden yapılandırın:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. Postgres'in eski bekleme düğümünde çalıştığından emin olun:
      > /opt/apigee/apigee-service/bin/apigee-all status

      Çalışmıyorsa başlatın:
      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Yeni ana düğümdeki /opt/apigee/apigee-postgresql/conf/pg_hba.conf dosyasını görüntüleyerek yeni bekleme düğümünün eklendiğini doğrulayın.
  7. Yönetim sunucusunda aşağıdaki komutu çalıştırarak mevcut analiz ve tüketici grubu bilgilerini görüntüleyin:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax

    Bu komut, name alanında analiz grubu adını ve consumer-groups altındaki name alanında tüketici grubu adını döndürür. Ayrıca, postgres-server alanında ve datastores alanında eski Postgres ana ve bekleme düğümlerinin UUID'lerini döndürür. Şu biçimde bir çıkış görmeniz gerekir:

    {
    "name" : "axgroup-001",
    "properties" : {
    },
    "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
    "uuids" : {
    "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
    "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ]
    },
    "consumer-groups" : [ {
    "name" : "consumer-group-001",

    "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
    "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
    "properties" : { }
    } ],
    "data-processors" : {
    }
    }
  8. Eski ana düğümde aşağıdaki cURL komutunu çalıştırarak eski ana düğümün UUID adresini alın:
    > curl -u sysAdminEmail:password http://<node_IP>:8084/v1/servers/self

    Çıkışın sonunda düğümün UUID'sini şu biçimde görürsünüz:
    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"


    Not: edge-postgres-server hizmeti çalışıyor olmalıdır. Postgres sunucusu çalışmıyorsa UUID'yi belirlemek için Yönetim Sunucusu'nda aşağıdaki komutu çalıştırabilirsiniz:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics

    Bu komutun çıkışında her Postres düğümünün IP adresi için UUID listelenir.
  9. Eski yedek düğümün ve yeni ana düğümün IP adreslerini almak için önceki adımı tekrarlayın.
  10. Eski ana ve bekleme düğümlerini tüketici grubundan kaldırın:
    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    Burada axgroup-001 ve consumer-group-001, analiz ve tüketici gruplarının varsayılan adlarıdır. masterUUID,standbyUUID, yukarıda mevcut analizleri ve tüketici grubu bilgilerini görüntülediğinizde göründükleri sırayla aynıdır. Bunları standbyUUID,masterUUID olarak belirtmeniz gerekebilir.

    consumer-groups için datastores özelliği artık boş olmalıdır.
  11. Eski ana ve bekleme düğümlerini analiz grubundan kaldırın:
    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    uuids altındaki postgres-server özelliği artık boş olmalıdır.
  12. Yeni PG ana ve yedek düğümlerini analiz ve tüketici gruplarına kaydedin:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  13. Analiz grubunu doğrulayın:
    > curl -u sysAdminEmail:password http://<ms_IP>:8080/v1/analytics/groups/ax

    Analiz grubunda ve tüketici grubunda listelenen yeni ana ve bekleme düğümlerinin UUID'lerini görmeniz gerekir.
  14. Edge Management Server'ı yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Tüm Qpid sunucularını yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Tüm Postgres sunucularını yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Her iki sunucuda da aşağıdaki komut dosyalarını çalıştırarak replikasyon durumunu doğrulayın. Sistem, başarılı bir replikasyon sağlamak için her iki sunucuda da aynı sonuçları göstermelidir:

    Yeni ana sunucuda şu komutu çalıştırın:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Ana sunucu olduğunu doğrulayın.

    Eski bekleme düğümünde:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Bekleme düğümü olduğunu doğrulayın.
  18. Düğümlerin senkronize olduğundan emin olmak için birkaç API isteği yaptıktan sonra önceki adımı tekrarlayın.
  19. Apigee Edge'i 4.16.09 sürümüne güncelleme bölümündeki prosedürü kullanarak eski Postgres ana sunucusunu kullanımdan kaldırın.

    Not: Eski ana düğüm Qpid çalıştırıyorsa Qpid'i çalıştırmak için bu sunucuyu çalışır durumda bırakabilirsiniz. Çalıştığından emin olun. Çalışmıyorsa başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server start

    Alternatif olarak, aşağıda açıklandığı gibi Qpid'yi eski ana düğümden kaldırıp yeni ana düğüme yükleyebilirsiniz. Qpid'i kaldırdıktan sonra eski ana düğümü kullanımdan kaldırabilirsiniz.

Qpid'i eski ana sunucudan kaldırın ve yeni ana sunucuya yükleyin.

Qpid'i eski ana sunucudan kaldırıp yeni ana sunucuya yüklemek için aşağıdaki prosedürü kullanın:

  1. Tüm Mesaj İşleyicilerde aşağıdaki komutu çalıştırarak Mesaj İşleyicilerin eski ana düğümdeki Qpid bağlantı noktası 5672'ye erişimini engelleyin:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Aşağıdaki komutu çalıştırarak Qpid mesaj sırasının boş olduğundan emin olun. Qpid, bekleyen tüm mesajları işleyene kadar Qpid'yi kaldıramazsınız:
    > qpid-stat -q

    Bu komut, msg, msgIn ve msgOut sayısını içeren bir tablo görüntüler. msg=0 ve msgIn=msgOut olduğunda tüm mesajlar işlenmiş olur.
  3. Eski ana sunucuda aşağıdaki komutu çalıştırarak eski ana sunucudaki Qpid sunucusunun UUID'sini belirleyin. Bu bilgileri daha sonra kullanmak üzere kaydedin:
    > curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self
  4. Eski ana sunucuda Qpid'i durdurun:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Qpid sunucusunu kaldırın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Eski Qpid sunucusunu analiz ve tüketici gruplarından kaldırın:
    > curl -u sysAdminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v

    > curl -u sysAdminEmail:password -X DELETE "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. Eski Qpid sunucusunu Zookeeper'dan kaldırın:
    > curl -u sysAdminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID
  8. Qpid'yi yeni ana sunucuya yükleyin:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Yeni ana sunucuda aşağıdaki komutu çalıştırarak yeni ana sunucudaki Qpid sunucusunun UUID'sini belirleyin. Bu bilgileri daha sonra kullanmak üzere kaydedin:
    > curl -u sysAdminEmail:password http://<node_IP>::8083/v1/servers/self
  10. Yeni Qpid sunucusunu analiz ve tüketici gruplarına kaydedin:
    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v

    > curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers?uuid=qpid_UUID" -v
  11. Tüm Mesaj İşleyicileri yeniden başlatın:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Sıraların oluşturulduğunu kontrol etmek için yeni Qpid sunucusunda aşağıdaki komutu çalıştırın:
    > qpid-stat -q

    Qpid sunucusu mesajları işlerken msg, msgIn ve msgOut değerlerinin güncellendiğini gördüğünüzden emin olun.

4.16.09 sürümündeki bileşenleri tek tek geri almak için

Geri alma işlemini gerçekleştirirken Edge'in mevcut sürümü için bootstrap.sh dosyasını indirmeniz gerekir:

  • 4.16.05 sürümüne geri dönmek için bootstrap_4.16.05.sh dosyasını indirin.
  • 4.16.01 sürümüne geri dönmek için bootstrap.sh dosyasını indirin.

Geri alınacak bileşeni barındıran her düğüm için:

  1. Geri alınacak bileşeni durdurun:
    1. Düğümde aşağıdaki bileşenlerden herhangi birini geri alıyorsanız hepsini durdurmanız gerekir: Yönetim Sunucusu, Yönlendirici, Mesaj İşlemcisi, Qpid Sunucusu veya Postgres Sunucusu:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. Düğümdeki başka bir bileşeni geri alıyorsanız yalnızca o bileşeni durdurun:
      • > apigee-service comp stop
  2. Para Kazanma'yı geri alıyorsanız tüm Yönetim Sunucusu ve Mesaj İşleyici düğümlerinden kaldırın:
    > apigee-service edge-mint-gateway uninstall
  3. Düğümde geri alma işlemi yapmak için bileşeni kaldırın:
    1. Düğümde aşağıdaki bileşenlerden herhangi birini geri alıyorsanız hepsini kaldırın: Yönetim Sunucusu, Yönlendirici, Mesaj İşlemcisi, Qpid Sunucusu veya Postgres Sunucusu:
      > apigee-service edge-gateway uninstall
    2. Düğümdeki başka bir bileşeni geri alıyorsanız yalnızca o bileşeni kaldırın:
      > apigee-service comp uninstall
  4. Yönlendiriciyi geri alıyorsanız /opt/nginx/conf.d içeriğini silmeniz gerekir:
    > cd /opt/nginx/conf.d
    > rm -rf *
  5. Bileşeni geri almak için:
    1. apigee-setup'ın 4.16.09 sürümünü kaldırın:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. 4.16.01 veya 4.16.05 sürümü için bootstrap.sh dosyasını indirin:
      4.16.01 için:
      > curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh

      4.16.05 için:
      > curl https://software.apigee.com/bootstrap_4.16.05.sh -o /tmp/bootstrap.sh
    3. 4.16.01 veya 4.16.05 apigee-service yardımcı programını ve bağımlılıklarını yükleyin:
      > sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord

      Burada uName ve pWord, Apigee'den aldığınız kullanıcı adı ve şifredir. pWord parametresini atlarsanız girmeniz istenir.
    4. apigee-setup'ın 4.16.01 veya 4.16.05 sürümünü yükleyin:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Bileşenin 4.16.01 veya 4.16.05 sürümünü yükleyin:
      > /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Burada comp, yüklenecek bileşendir ve configFile, 4.16.01 veya 4.16.05 yapılandırma dosyanızdır.
  6. Bileşeni 4.16.05 sürümünün belirli bir sürümüne geri almak için:
    1. Belirli bileşen sürümünü indirin:
      > /<instal_dir>/apigee/apigee-service/bin/apigee-service comp-version install

      Burada comp-version, yüklenecek bileşen ve sürümdür. Örneğin:
      > /<instal_dir>/apigee/apigee-service/bin/apigee-service edge-ui-4.16.05-0.0.3649 install

      Apigee online repo kullanıyorsanız aşağıdaki komutu kullanarak kullanılabilir bileşen sürümlerini belirleyebilirsiniz:
      > yum --showduplicates list comp

      Örneğin:
      > yum --showduplicates list edge-ui
    2. Bileşeni yüklemek için apigee-setup'ı kullanın:
      > /<install_dir>/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

      Örneğin:
      > /<install_dir>/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

      Yükleme işlemini yaparken yalnızca bileşen adını belirttiğinize dikkat edin.

Geri alma işlemi sırasında sorun yaşarsanız Apigee Destek Ekibi ile iletişime geçin.