Apigee sunucularını taşıma

Bileşenleri bir makineden diğerine taşımak, bileşen yapılandırma dosyalarınızdaki IP adreslerini senkronize tutmazsanız yapılandırma uyuşmazlığına neden olabilir.

Bu bölümde, yapılandırma uyuşmazlıklarının nasıl teşhis edileceği ve düzeltileceği açıklanmaktadır.

IP adresleri ve ana makine adları

Bileşen yapılandırma dosyalarınızda ana makine adları yerine IP adreslerini kullanmanız gerekir.

Bazı bileşen yapılandırma dosyaları, IP adresleri yerine ana makine adlarını kullanmanıza izin verse de ana makine adlarını kullanmak sorun giderme sürecini zorlaştırabilir. Örneğin, barındırıcı adları DNS sunucusu bağlantısı, arama hataları ve senkronizasyonla ilgili sorunların kaynağı olabilir.

Bu nedenle Apigee, tüm bileşen yapılandırmaları için IP adreslerinin kullanılmasını önemle tavsiye eder. Bazı durumlarda (ör. Cassandra) IP adreslerini kullanmanız gerekir ve ana bilgisayar adlarını kullanamazsınız. Belgelerdeki çoğu örnekte, bileşen yapılandırması için IP adresleri kullanılır.

Apigee sunucularını taşırken ana makine adları ve IP adresleri için aşağıdaki senaryoların etkilerini göz önünde bulundurun:

Senaryo Sunucuları taşıma üzerindeki etkisi
IP adresindeki değişiklik Orijinal IP adresine referans veren tüm ilgili dosyaları güncelleme
IP adresinde değişiklik olmadan ana makine adı değişikliği Etkili olmadı
IP adresindeki değişiklikle birlikte ana makine adı değişikliği IP adresindeki değişiklikle aynıdır.

Cassandra düğümünün IP adresini değiştirme

Bir Cassandra düğümünün IP adresini değiştirmek için aşağıdaki adımları uygulayın:

Tek bir Cassandra düğümü içeren yapılandırmalar için

  1. Değiştirilen sistemde /opt/apigee/customer/application/cassandra.properties dosyasını düzenleyin. Dosya yoksa oluşturun.
  2. Aşağıdaki parametreleri değiştirin:
    • Sistemin yeni IP adresini belirtmek için conf_cassandra_seeds ve conf_cassandra_listen_address parametrelerini ayarlayın.
    • conf_cassandra_rpc_address değerini yeni IP adresini veya 0.0.0.0'ı (Cassandra Thrift'in tüm arayüzlerde dinlemesine olanak tanır) kullanacak şekilde değiştirin.
  3. /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties dosyasını bir düzenleyicide açın. Formda eski IP adresini ve varsayılan ayarı görmelisiniz:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    Bu bilgileri kaydedin.

  4. Eski IP adresini yeni IP adresiyle değiştirmek için /opt/apigee/customer/application/cassandra.properties bölümünü düzenleyin:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    IP adresinden sonra "\n" eklediğinizden ve yukarıdaki 3. adımda bulduğunuz varsayılan ayarları belirttiğinizden emin olun.

  5. Cassandra'yı yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Gerekirse ZooKeeper'ı da onarın (bkz. ZooKeeper düğümünün IP adresini değiştirme). Aksi takdirde, Yönetim Sunucusu'ndan başlayarak her Apigee platform bileşenini yeniden başlatın.

Birden fazla Cassandra düğümü (halka) içeren yapılandırmalar için

  1. Değiştirilen düğüm bir başlangıç düğümü ise halkadaki her sistemde /opt/apigee/customer/application/cassandra.properties dosyasını düzenleyin ve conf_cassandra_seeds parametresini değiştirerek değiştirilen sistemin yeni IP'sini ekleyin. cassandra.properties dosyası yoksa oluşturun.
  2. Değiştirilen sistemde /opt/apigee/customer/application/cassandra.properties dosyasını düzenleyin ve aşağıdaki parametreleri değiştirin:
    • conf_cassandra_listen_address ayarını yeni IP adresini kullanacak şekilde ayarlayın.
    • conf_cassandra_rpc_address değerini yeni IP adresini veya "0.0.0.0"ı kullanacak şekilde ayarlayın (bu, Cassandra Thrift'in tüm arayüzlerde dinlemesine olanak tanır).
  3. /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties dosyasını bir düzenleyicide açın. Aşağıdaki biçimde tüm Cassandra IP adreslerini ve varsayılan ayarı görmeniz gerekir:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    Bu bilgileri kaydedin.

  4. Eski IP adresini yeni IP adresiyle değiştirmek için /opt/apigee/customer/application/cassandra.properties bölümünü düzenleyin:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    Her IP adresinden sonra "\n" eklediğinizden ve 3. adımda yukarıda kaydettiğiniz varsayılan ayarları kullandığınızdan emin olun.

  5. Değiştirilen sistemde Cassandra'yı yeniden başlatın.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. Diğer tüm düğümler için 3. ve 4. adımlarda yapılan değişiklikleri tekrarlayarak bu düğümün Cassandra halkasındaki konumu hakkında bilgi verin. Ayrıca, 1. adımda açıklandığı gibi başlangıç düğümü IP'sini değiştirin.
  7. Kalan her Cassandra düğümünü tek tek yeniden başlatın.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. Halkanın tamamlandığından emin olmak için değiştirilen düğümde nodetool ring komutunu çalıştırın. Bu yardımcı programı /opt/apigee/apigee-cassandra/bin adresinde bulabilirsiniz.
    nodetool [-u username -pw password] -h localhost ring
  9. Değiştirilen düğümde nodetool repair komutunu çalıştırın. Bu işlemin biraz zaman alabileceğini unutmayın. Bu nedenle, işlemin API trafiğinin yoğun olduğu saatlerde yapılmaması önemle tavsiye edilir.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. Gerekirse ZooKeeper'ı onarın (bkz. ZooKeeper düğümünün IP adresini değiştirme) ve ardından Yönetim Sunucusu'ndan başlayarak her Apigee platform bileşenini yeniden başlatın.

Veri deposu kayıtlarını güncelleme

  1. Aşağıdaki komutları kullanarak eski IP adresini belirten veri deposu kayıtlarının UUID'lerini bulun. "type" ve "UUID" parametrelerini not edin:
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      Burada DC veri merkezi adıdır. Tek bir veri merkezi kurulumunda değer genellikle "dc-1" olur.

  2. Aşağıdaki komutlardan birini kullanarak yeni IP adreslerini kaydedin. Gerekli komut, değiştirilen düğümün türüne bağlıdır.
    • type="application-datastore" için:
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • type="kms-datastore" için:
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • type="reportcrud-datastore" için:
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. IP adresinin değiştirildiği sistemin UUID'si için eski kayıtları silin. Bu UUID'lerin her biri için şu sorunlar oluşur:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

ZooKeeper düğümünün IP adresini değiştirme

Bir ZooKeeper düğümünün IP adresini değiştirmek için aşağıdaki adımları uygulayın:

IP adresini değiştirin ve ZooKeeper topluluğunu yeniden başlatın (yalnızca çok düğümlü topluluk yapılandırmaları için)

  1. /opt/apigee/apigee-zookeeper/conf/zoo.cfg dosyasını bir düzenleyicide açın. Şu biçimde tüm ZooKeeper IP adreslerini ve varsayılan ayarı görmelisiniz:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    Bu bilgileri kaydedin.

  2. Her ZooKeeper düğümünde, /opt/apigee/customer/application/zookeeper.properties özelliğini doğru IP adreslerine ayarlamak için conf_zoo_quorum dosyasını düzenleyin. Dosya yoksa oluşturun.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    Her IP adresinden sonra "\n" eklediğinizden ve girişlerin her düğümde aynı sırada olduğundan emin olun.

  3. Aşağıdaki komutu kullanarak ZooKeeper topluluğunun liderini bulun (node yerine ZooKeeper makinesinin IP adresini girin):
    echo srvr | nc node 2181

    Çıkıştaki Mode (Mod) satırında "leader" (lider) yazmalıdır.

  4. Liderle başlayıp IP adresinin değiştirildiği düğümle sona ererek ZooKeeper'ları birbiri ardına yeniden başlatın. Birden fazla Zookeeper düğümünün IP adresleri değiştiyse tüm düğümleri yeniden başlatmanız gerekebilir.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. Her bir ZooKeeper düğümünü doğrulamak için yukarıda açıklanan echo komutunu kullanın.

Değişen yapılandırmayı Apigee düğümlerine bildirin.

  1. Her yönlendirici düğümünde /opt/apigee/customer/application/router.properties dosyasını aşağıdaki gibi düzenleyin. Dosya yoksa oluşturun.
    • conf_zookeeper_connection.string parametresini yeni IP adresini içerecek şekilde değiştirin.
    • conf_zookeeper_zk1.host parametresini yeni IP adresini içerecek şekilde değiştirin.
  2. Her Mesaj İşleyici düğümünde /opt/apigee/customer/application/message-processor.properties dosyasını aşağıdaki gibi düzenleyin. Dosya yoksa oluşturun.
    • conf_zookeeper_connection.string parametresini yeni IP adresini içerecek şekilde değiştirin.
    • conf_zookeeper_zk1.host parametresini yeni IP adresini içerecek şekilde değiştirin.
  3. Yönetim sunucusu düğümünde /opt/apigee/customer/application/management-server.properties dosyasını aşağıdaki gibi düzenleyin. Dosya yoksa oluşturun.
    • conf_zookeeper_connection.string parametresini yeni IP adresini içerecek şekilde değiştirin.
    • conf_zookeeper_zk1.host parametresini yeni IP adresini içerecek şekilde değiştirin.
  4. Her düğümde aşağıdaki komutu çalıştırarak tüm Apigee platform bileşenlerini yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-all restart

LDAP sunucusunun IP adresini değiştirme (SymasLDAP)

Bir SymasLDAP düğümünün IP adresini değiştirmek için aşağıdakileri yapın:

  1. Yönetim sunucusu düğümünde /opt/apigee/customer/application/management-server.properties dosyasını düzenleyin. Dosya yoksa oluşturun.
  2. management-server.properties dosyasında conf_security_ldap.server.host parametresini yeni IP adresine ayarlayın.
  3. Yönetim sunucusunu yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

Diğer Apigee düğümü türlerinin IP adresini değiştirme

Bu düğüm türlerinden herhangi birinin (Router, Message Processor, Postgres Server (postgresql değil) ve Qpid Server (qpidd değil)) IP adresini değiştirmek için:

  1. Yeni dahili ve harici IP adresini kaydetmek için aşağıdaki curl komutunu kullanın:
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    Buradaki uuid, düğümün UUID'sidir.

Bir bileşenin UUID'sini nasıl alacağınız hakkında bilgi edinmek için UUID'leri alma başlıklı makaleyi inceleyin.